工件
从 Julia 1.6 开始,工件支持已从 Pkg.jl
移动到 Julia 本身。在添加适当的文档之前,您可以在 Pkg.jl
手册中了解有关工件的更多信息,网址为 https://julialang.github.io/Pkg.jl/v1/artifacts/。
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。
Artifacts.artifact_hash
— 函数artifact_hash(name::String, artifacts_toml::String;
platform::AbstractPlatform = HostPlatform())
围绕 artifact_meta()
的薄包装器,用于返回指定平台折叠工件的哈希值。如果找不到映射,则返回 nothing
。
此函数至少需要 Julia 1.3。
Artifacts.find_artifacts_toml
— 函数find_artifacts_toml(path::String)
给定 .jl
文件的路径(例如,在宏上下文中由 __source__.file
返回的文件),找到包含在包含项目中的 (Julia)Artifacts.toml
(如果存在),否则返回 nothing
。
此函数至少需要 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.6。