Artifacts

À partir de Julia 1.6, le support des artefacts a été déplacé de Pkg.jl vers Julia elle-même. En attendant que la documentation appropriée puisse être ajoutée ici, vous pouvez en apprendre davantage sur les artefacts dans le manuel de Pkg.jl à https://julialang.github.io/Pkg.jl/v1/artifacts/.

Julia 1.6

L'API des artefacts de Julia nécessite au moins Julia 1.6. Dans les versions de Julia 1.3 à 1.5, vous pouvez utiliser Pkg.Artifacts à la place.

Artifacts.artifact_metaFunction
artifact_meta(name::String, artifacts_toml::String;
              platform::AbstractPlatform = HostPlatform(),
              pkg_uuid::Union{Base.UUID,Nothing}=nothing)

Obtenez des métadonnées sur un artefact donné (identifié par son nom) stocké dans le fichier (Julia)Artifacts.toml donné. Si l'artefact est spécifique à une plateforme, utilisez platform pour choisir le mappage le plus approprié. Si aucun n'est trouvé, renvoyez nothing.

Julia 1.3

Cette fonction nécessite au moins Julia 1.3.

source
Artifacts.artifact_hashFunction
artifact_hash(name::String, artifacts_toml::String;
              platform::AbstractPlatform = HostPlatform())

Enveloppe fine autour de artifact_meta() pour retourner le hachage de l'artefact spécifié, réduit par la plateforme. Retourne nothing si aucun mappage ne peut être trouvé.

Julia 1.3

Cette fonction nécessite au moins Julia 1.3.

source
Artifacts.find_artifacts_tomlFunction
find_artifacts_toml(path::String)

Étant donné le chemin vers un fichier .jl (tel que celui retourné par __source__.file dans un contexte de macro), trouvez le (Julia)Artifacts.toml qui est contenu dans le projet contenant (s'il existe), sinon retournez nothing.

Julia 1.3

Cette fonction nécessite au moins Julia 1.3.

source
Artifacts.@artifact_strMacro
macro artifact_str(name)

Renvoie le chemin sur disque vers un artefact. Recherche automatiquement l'artefact par nom dans le fichier (Julia)Artifacts.toml du projet. Lance une erreur si l'artefact demandé n'est pas présent. S'il est exécuté dans le REPL, recherche le fichier toml en commençant par le répertoire actuel, voir find_artifacts_toml() pour plus de détails.

Si l'artefact est marqué "lazy" et que le package a using LazyArtifacts défini, l'artefact sera téléchargé à la demande avec Pkg la première fois que cette macro essaie de calculer le chemin. Les fichiers seront ensuite laissés installés localement pour plus tard.

Si name contient une barre oblique avant ou arrière, tous les éléments après la première barre oblique seront considérés comme des noms de chemin indexant dans l'artefact, permettant une ligne simple pour accéder à un seul fichier/répertoire au sein d'un artefact. Exemple :

ffmpeg_path = @artifact"FFMPEG/bin/ffmpeg"
Julia 1.3

Cette macro nécessite au moins Julia 1.3.

Julia 1.6

L'indexation par barre oblique nécessite au moins Julia 1.6.

source
Artifacts.artifact_existsFunction
artifact_exists(hash::SHA1; honor_overrides::Bool=true)

Renvoie si l'artefact donné (identifié par son hash d'arbre git sha1) existe sur le disque. Notez qu'il est possible que l'artefact donné existe à plusieurs emplacements (par exemple, dans plusieurs dépôts).

Julia 1.3

Cette fonction nécessite au moins Julia 1.3.

source
Artifacts.artifact_pathFunction
artifact_path(hash::SHA1; honor_overrides::Bool=true)

Étant donné un artefact (identifié par le hachage d'arbre git SHA1), renvoie son chemin d'installation. Si l'artefact n'existe pas, renvoie l'emplacement où il serait installé.

Julia 1.3

Cette fonction nécessite au moins Julia 1.3.

source
Artifacts.select_downloadable_artifactsFunction
select_downloadable_artifacts(artifacts_toml::String;
                              platform = HostPlatform,
                              include_lazy = false,
                              pkg_uuid = nothing)

Retourne un dictionnaire où chaque entrée est un artefact du Artifacts.toml donné qui doit être téléchargé pour la plateforme demandée. Les artefacts paresseux sont inclus si include_lazy est défini.

source