Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions src/Registry/registry_instance.jl
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,8 @@ struct PkgInfo

# WeakDeps.toml
weak_deps::Dict{VersionRange, Dict{String, UUID}}

info_lock::ReentrantLock
end

isyanked(pkg::PkgInfo, v::VersionNumber) = pkg.version_info[v].yanked
Expand Down Expand Up @@ -155,15 +157,15 @@ function initialize_weak_uncompressed!(pkg::PkgInfo, versions = keys(pkg.version
end

function compat_info(pkg::PkgInfo)
initialize_uncompressed!(pkg)
@lock pkg.info_lock initialize_uncompressed!(pkg)
return Dict(v => info.uncompressed_compat for (v, info) in pkg.version_info)
end

function weak_compat_info(pkg::PkgInfo)
if isempty(pkg.weak_deps)
return nothing
end
initialize_weak_uncompressed!(pkg)
@lock pkg.info_lock initialize_weak_uncompressed!(pkg)
return Dict(v => info.weak_uncompressed_compat for (v, info) in pkg.version_info)
end

Expand Down Expand Up @@ -254,7 +256,7 @@ function init_package_info!(pkg::PkgEntry)
end

@assert !isdefined(pkg, :info)
pkg.info = PkgInfo(repo, subdir, version_info, compat, deps, weak_compat, weak_deps)
pkg.info = PkgInfo(repo, subdir, version_info, compat, deps, weak_compat, weak_deps, pkg.info_lock)

return pkg.info
end
Expand Down
Loading