工件
从 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。