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/.
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_meta
— Functionartifact_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
.
Cette fonction nécessite au moins Julia 1.3.
Artifacts.artifact_hash
— Functionartifact_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é.
Cette fonction nécessite au moins Julia 1.3.
Artifacts.find_artifacts_toml
— Functionfind_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
.
Cette fonction nécessite au moins Julia 1.3.
Artifacts.@artifact_str
— Macromacro 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"
Cette macro nécessite au moins Julia 1.3.
L'indexation par barre oblique nécessite au moins Julia 1.6.
Artifacts.artifact_exists
— Functionartifact_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).
Cette fonction nécessite au moins Julia 1.3.
Artifacts.artifact_path
— Functionartifact_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é.
Cette fonction nécessite au moins Julia 1.3.
Artifacts.select_downloadable_artifacts
— Functionselect_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.