工件

从 Julia 1.6 开始,工件支持已从 Pkg.jl 移动到 Julia 本身。在添加适当的文档之前,您可以在 Pkg.jl 手册中了解有关工件的更多信息,网址为 https://julialang.github.io/Pkg.jl/v1/artifacts/

Julia 1.6

Julia 的工件 API 至少需要 Julia 1.6。在 Julia 1.3 到 1.5 版本中,您可以使用 Pkg.Artifacts 代替。

Artifacts.artifact_meta函数
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。

Artifacts.artifact_hash函数
artifact_hash(name::String, artifacts_toml::String;
              platform::AbstractPlatform = HostPlatform())

围绕 artifact_meta() 的薄包装器,用于返回指定平台折叠工件的哈希值。如果找不到映射,则返回 nothing

Julia 1.3

此函数至少需要 Julia 1.3。

Artifacts.find_artifacts_toml函数
find_artifacts_toml(path::String)

给定 .jl 文件的路径(例如,在宏上下文中由 __source__.file 返回的文件),找到包含在包含项目中的 (Julia)Artifacts.toml(如果存在),否则返回 nothing

Julia 1.3

此函数至少需要 Julia 1.3。

Artifacts.@artifact_str
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。