导出API¶
警告
此功能是实验性的,可能会发生重大更改。有关更多信息,请参阅 Conan 稳定性 部分。
- class ExportAPI(conan_api, helpers)¶
此 API 提供了将用户文件夹中的构件(包括配方和预编译的包二进制文件)导出到 Conan 缓存,作为 Conan 配方和 Conan 包二进制文件的相关方法。
- export(path, name: str = None, version: str = None, user: str = None, channel: str = None, lockfile=None, remotes: List[Remote] = None) Tuple[RecipeReference, ConanFile]¶
将
conanfile.py配方及其关联文件导出到 Conan 缓存。将计算并分配一个“配方修订版”。- 参数:
path – 要导出的 conanfile 的路径
name – 可选的包名。通常不是必需的,因为它由配方属性定义或使用
set_name()方法动态定义。如果它在配方和参数中都定义了,但它们不匹配,则会引发错误。version – 可选版本。它可以在配方中通过 version 属性或使用 ‘set_version()’ 方法动态定义。如果它在配方和参数中都定义了,但它们不匹配,则会引发错误。
user – 可选用户。可以由配方属性定义。如果它在配方和参数中都定义了,但它们不匹配,则会引发错误。
channel – 可选通道。可以由配方属性定义。如果它在配方和参数中都定义了,但它们不匹配,则会引发错误。
lockfile – 可选,仅在配方具有需要锁定的 ‘python-requires’ 时才相关
remotes – 可选,仅用于解析远程中的 ‘python-requires’
- 返回:
导出的 RecipeReference 和 ConanFile 对象的元组
- export_pkg_graph(path, ref: RecipeReference, profile_host, profile_build, remotes: List[Remote], lockfile=None, is_build_require=False, skip_binaries=False, output_folder=None)¶
为已存在于 Conan 缓存中的配方(之前已导出)计算给定配置的依赖图。此方法计算完整的依赖图,使用配置文件、锁定文件和远程信息,就像任何其他安装/图形/创建命令一样。这对于计算要导出到 Conan 缓存的包的“package_id”是必需的。生成的依赖图可以传递给
export_pkg()方法。- 参数:
path – 用户文件夹中 conanfile.py 的路径
ref – 完整的 RecipeReference,包括配方修订版
profile_host – 主机上下文的配置文件
profile_build – 构建上下文的配置文件
lockfile – 可选的锁定文件
remotes – Remote 列表
is_build_require – 以防包被用作工具要求
skip_binaries –
output_folder – 包含输出文件的文件夹,例如潜在的环境脚本
- 返回:
可以传递给
export_pkg()方法的 Graph 对象
- export_pkg(graph, output_folder=None) None¶
执行已导出配方的
package()方法,以便将构件从用户文件夹复制到 Conan 缓存的包文件夹。- 参数:
graph – Graph 对象
output_folder – 可选文件夹,其中安装了生成的文件(例如依赖项的环境脚本)