Artifacts
Ab Julia 1.6 wurde die Unterstützung für Artefakte von Pkg.jl
in Julia selbst verschoben. Bis eine ordnungsgemäße Dokumentation hier hinzugefügt werden kann, können Sie mehr über Artefakte im Pkg.jl
-Handbuch unter https://julialang.github.io/Pkg.jl/v1/artifacts/ erfahren.
Julias Artefakte-API erfordert mindestens Julia 1.6. In den Julia-Versionen 1.3 bis 1.5 können Sie stattdessen Pkg.Artifacts
verwenden.
Artifacts.artifact_meta
— Functionartifact_meta(name::String, artifacts_toml::String;
platform::AbstractPlatform = HostPlatform(),
pkg_uuid::Union{Base.UUID,Nothing}=nothing)
Holen Sie sich Metadaten über ein gegebenes Artefakt (identifiziert durch den Namen), das in der gegebenen (Julia)Artifacts.toml
-Datei gespeichert ist. Wenn das Artefakt plattformspezifisch ist, verwenden Sie platform
, um die am besten geeignete Zuordnung auszuwählen. Wenn keine gefunden wird, geben Sie nothing
zurück.
Diese Funktion erfordert mindestens Julia 1.3.
Artifacts.artifact_hash
— Functionartifact_hash(name::String, artifacts_toml::String;
platform::AbstractPlatform = HostPlatform())
Dünne Wrapper um artifact_meta()
, um den Hash des angegebenen, plattform-kollabierten Artefakts zurückzugeben. Gibt nothing
zurück, wenn keine Zuordnung gefunden werden kann.
Diese Funktion erfordert mindestens Julia 1.3.
Artifacts.find_artifacts_toml
— Functionfind_artifacts_toml(pfad::String)
Gegeben den Pfad zu einer .jl
-Datei (wie der, die von __source__.file
im Kontext eines Makros zurückgegeben wird), finde die (Julia)Artifacts.toml
, die im übergeordneten Projekt enthalten ist (sofern vorhanden), andernfalls gib nichts
zurück.
Diese Funktion erfordert mindestens Julia 1.3.
Artifacts.@artifact_str
— Macromacro artifact_str(name)
Gibt den Pfad auf der Festplatte zu einem Artefakt zurück. Sucht automatisch das Artefakt anhand des Namens in der (Julia)Artifacts.toml
-Datei des Projekts. Wirft einen Fehler, wenn das angeforderte Artefakt nicht vorhanden ist. Wenn es im REPL ausgeführt wird, sucht es nach der toml-Datei, beginnend im aktuellen Verzeichnis, siehe find_artifacts_toml()
für mehr.
Wenn das Artefakt als "lazy" markiert ist und das Paket using LazyArtifacts
definiert hat, wird das Artefakt bei Bedarf mit Pkg
heruntergeladen, wenn dieses Makro zum ersten Mal versucht, den Pfad zu berechnen. Die Dateien werden dann lokal installiert gelassen für später.
Wenn name
einen Vorwärts- oder Rückwärtsschrägstrich enthält, werden alle Elemente nach dem ersten Schrägstrich als Pfadnamen betrachtet, die in das Artefakt indizieren, was eine einfache Einzeiler-Zugriffsweise auf eine einzelne Datei/ein Verzeichnis innerhalb eines Artefakts ermöglicht. Beispiel:
ffmpeg_path = @artifact"FFMPEG/bin/ffmpeg"
Dieses Makro erfordert mindestens Julia 1.3.
Das Slash-Indexing erfordert mindestens Julia 1.6.
Artifacts.artifact_exists
— Functionartifact_exists(hash::SHA1; honor_overrides::Bool=true)
Gibt zurück, ob das angegebene Artefakt (identifiziert durch seinen sha1 git tree hash) auf der Festplatte existiert. Beachten Sie, dass es möglich ist, dass das angegebene Artefakt an mehreren Orten existiert (z. B. in mehreren Depots).
Diese Funktion erfordert mindestens Julia 1.3.
Artifacts.artifact_path
— Functionartifact_path(hash::SHA1; honor_overrides::Bool=true)
Gibt den Installationspfad eines Artefakts (identifiziert durch den SHA1-Git-Baum-Hash) zurück. Wenn das Artefakt nicht existiert, wird der Ort zurückgegeben, an dem es installiert werden würde.
Diese Funktion erfordert mindestens Julia 1.3.
Artifacts.select_downloadable_artifacts
— Functionselect_downloadable_artifacts(artifacts_toml::String;
platform = HostPlatform,
include_lazy = false,
pkg_uuid = nothing)
Gibt ein Wörterbuch zurück, in dem jeder Eintrag ein Artefakt aus der angegebenen Artifacts.toml
ist, das für die angeforderte Plattform heruntergeladen werden soll. Lazy-Artefakte werden einbezogen, wenn include_lazy
auf true gesetzt ist.