Документация Engee

Артефакты

Страница в процессе перевода.

Начиная с Julia 1.6 поддержка артефактов перенесена из Pkg.jl в Julia. Поскольку соответствующая документация пока не добавлена, более подробно с артефактами вы можете ознакомиться в руководстве по Pkg.jl по адресу https://julialang.github.io/Pkg.jl/v1/artifacts/.

Совместимость: Julia 1.6

Для API артефактов Julia требуется версия не ниже Julia 1.6. В Julia версий 1.3—​1.5 можно использовать Pkg.Artifacts.

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

Возвращает метаданные указанного артефакта (идентифицируемого по имени), хранящиеся в заданном файле (Julia)Artifacts.toml. Если артефакт привязан к конкретной платформе, используйте platform, чтобы выбрать наиболее подходящее сопоставление. Если метаданные не найдены, возвращает nothing.

Совместимость: Julia 1.3

Для этой функции требуется версия Julia не ниже 1.3.

artifact_hash(name::String, artifacts_toml::String;
              platform::AbstractPlatform = HostPlatform())

Тонкая оболочка вокруг artifact_meta() для возврата хэша указанного артефакта, свернутого на платформе. Если сопоставление не найдено, возвращает nothing.

Совместимость: Julia 1.3

Для этой функции требуется версия Julia не ниже 1.3.

find_artifacts_toml(path::String)

По заданному пути к файлу .jl (например, возвращаемому __source__.file в контексте макроса) находит файл (Julia)Artifacts.toml в содержащем его проекте (если он существует), в противном случае возвращает nothing.

Совместимость: Julia 1.3

Для этой функции требуется версия Julia не ниже 1.3.

macro artifact_str(name)

Возвращает путь к артефакту на диске. Автоматически ищет артефакт по имени в файле (Julia)Artifacts.toml проекта. Если запрошенный артефакт отсутствует, выдает ошибку. При выполнении в REPL ищет файл TOML, начиная с текущего каталога; дополнительные сведения см. в описании find_artifacts_toml().

Если артефакт помечен как «отложенный» и в пакете определено using LazyArtifacts, артефакт будет скачан по запросу с Pkg в первый раз, когда макрос попытается вычислить путь. Файлы останутся установленными локально для дальнейшего использования.

Если name содержит прямой или обратный слеш, все элементы после первого слеша будут восприниматься как имена путей, индексирующие артефакт, что позволяет легко получить доступ к одному файлу или каталогу внутри артефакта одной строкой. Пример:

ffmpeg_path = @artifact"FFMPEG/bin/ffmpeg"
Совместимость: Julia 1.3

Для этого макроса требуется версия Julia не ниже 1.3.

Совместимость: Julia 1.6

Для индексирования с помощью слешей требуется версия Julia не ниже 1.6.

artifact_exists(hash::SHA1; honor_overrides::Bool=true)

Возвращает информацию о том, существует ли на диске заданный артефакт (идентифицируемый по хэшу дерева git SHA1). Имейте в виду, что артефакт может существовать в нескольких местах (например, в нескольких хранилищах).

Совместимость: Julia 1.3

Для этой функции требуется версия Julia не ниже 1.3.

artifact_path(hash::SHA1; honor_overrides::Bool=true)

Для данного артефакта (идентифицируемого по хэшу дерева git SHA1) возвращает путь его установки. Если артефакт не существует, возвращает место, куда он будет установлен.

Совместимость: Julia 1.3

Для этой функции требуется версия Julia не ниже 1.3.

select_downloadable_artifacts(artifacts_toml::String;
                              platform = HostPlatform,
                              include_lazy = false,
                              pkg_uuid = nothing)

Возвращает словарь, каждый элемент которого является артефактом из указанного файла Artifacts.toml, подлежащий скачиванию для запрошенной платформы. Отложенные артефакты включаются, если задан аргумент include_lazy.