Artifacts

A partir de Julia 1.6, el soporte para artefactos se ha trasladado de Pkg.jl a Julia misma. Hasta que se pueda agregar la documentación adecuada aquí, puedes aprender más sobre artefactos en el manual de Pkg.jl en https://julialang.github.io/Pkg.jl/v1/artifacts/.

Julia 1.6

La API de artefactos de Julia requiere al menos Julia 1.6. En las versiones de Julia 1.3 a 1.5, puedes usar Pkg.Artifacts en su lugar.

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

Obtiene metadatos sobre un artefacto dado (identificado por nombre) almacenado dentro del archivo (Julia)Artifacts.toml dado. Si el artefacto es específico de la plataforma, utiliza platform para elegir el mapeo más apropiado. Si no se encuentra ninguno, devuelve nothing.

Julia 1.3

Esta función requiere al menos Julia 1.3.

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

Envoltura delgada alrededor de artifact_meta() para devolver el hash del artefacto colapsado especificado para la plataforma. Devuelve nothing si no se puede encontrar un mapeo.

Julia 1.3

Esta función requiere al menos Julia 1.3.

source
Artifacts.find_artifacts_tomlFunction
find_artifacts_toml(path::String)

Dado el camino a un archivo .jl (como el que se devuelve por __source__.file en un contexto de macro), encuentra el (Julia)Artifacts.toml que está contenido dentro del proyecto contenedor (si existe), de lo contrario devuelve nothing.

Julia 1.3

Esta función requiere al menos Julia 1.3.

source
Artifacts.@artifact_strMacro
macro artifact_str(name)

Devuelve la ruta en disco a un artefacto. Busca automáticamente el artefacto por nombre en el archivo (Julia)Artifacts.toml del proyecto. Lanza un error si el artefacto solicitado no está presente. Si se ejecuta en el REPL, busca el archivo toml comenzando en el directorio actual, consulta find_artifacts_toml() para más información.

Si el artefacto está marcado como "perezoso" y el paquete tiene using LazyArtifacts definido, el artefacto se descargará bajo demanda con Pkg la primera vez que esta macro intente calcular la ruta. Los archivos se dejarán instalados localmente para su uso posterior.

Si name contiene una barra diagonal hacia adelante o hacia atrás, todos los elementos después de la primera barra se tomarán como nombres de ruta que indexan en el artefacto, lo que permite una línea fácil para acceder a un solo archivo/directorio dentro de un artefacto. Ejemplo:

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

Esta macro requiere al menos Julia 1.3.

Julia 1.6

La indexación con barra requiere al menos Julia 1.6.

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

Devuelve si el artefacto dado (identificado por su hash de árbol git sha1) existe en el disco. Ten en cuenta que es posible que el artefacto dado exista en múltiples ubicaciones (por ejemplo, dentro de múltiples depósitos).

Julia 1.3

Esta función requiere al menos Julia 1.3.

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

Dado un artefacto (identificado por el hash del árbol git SHA1), devuelve su ruta de instalación. Si el artefacto no existe, devuelve la ubicación a la que se instalaría.

Julia 1.3

Esta función requiere al menos Julia 1.3.

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

Devuelve un diccionario donde cada entrada es un artefacto del Artifacts.toml dado que debe ser descargado para la plataforma solicitada. Los artefactos perezosos se incluyen si include_lazy está configurado.

source