envision-unwrapped: 0-unstable-2024-10-20 -> 1.1.1 (#360652)
[NixPkgs.git] / pkgs / development / julia-modules / extract_artifacts_16.jl
blobaf3099278daa09e4404705afeaf8da43526ab510
2 import Base: UUID
3 import Pkg.Artifacts: artifact_meta, find_artifacts_toml, load_artifacts_toml
4 import Pkg.BinaryPlatforms: platform_key_abi
5 import TOML
7 pkg_uuid = UUID(ARGS[1])
8 dir = ARGS[2]
10 artifacts_toml = find_artifacts_toml(dir)
12 if artifacts_toml == nothing
13     print("")
14     exit()
15 end
17 platform = platform_key_abi()
19 # Older Julia doesn't provide select_downloadable_artifacts or .pkg/select_artifacts.jl,
20 # so gather the artifacts the old-fashioned way
21 artifact_dict = load_artifacts_toml(artifacts_toml; pkg_uuid=pkg_uuid)
23 results = Dict()
24 for name in keys(artifact_dict)
25     # Get the metadata about this name for the requested platform
26     meta = artifact_meta(name, artifact_dict, artifacts_toml; platform=platform)
28     # If there are no instances of this name for the desired platform, skip it
29     meta === nothing && continue
31     results[name] = meta
32 end
33 TOML.print(results)