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/.
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_meta
— Functionartifact_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
.
Esta función requiere al menos Julia 1.3.
Artifacts.artifact_hash
— Functionartifact_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.
Esta función requiere al menos Julia 1.3.
Artifacts.find_artifacts_toml
— Functionfind_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
.
Esta función requiere al menos Julia 1.3.
Artifacts.@artifact_str
— Macromacro 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"
Esta macro requiere al menos Julia 1.3.
La indexación con barra requiere al menos Julia 1.6.
Artifacts.artifact_exists
— Functionartifact_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).
Esta función requiere al menos Julia 1.3.
Artifacts.artifact_path
— Functionartifact_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.
Esta función requiere al menos Julia 1.3.
Artifacts.select_downloadable_artifacts
— Functionselect_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.