Export API

警告

此功能是实验性的,可能会发生重大更改。有关更多信息,请参阅 Conan 稳定性 部分。

警告

子 API 不应自行初始化。它们旨在仅通过主 ConanAPI 属性访问。

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 缓存。将计算并分配一个“recipe-revision”。

参数:
  • 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 缓存中已存在的(先前导出的)配方。此方法计算完整的依赖关系图,使用配置文件、lockfile 和远程仓库信息,就像任何其他 install/graph/create 命令一样。这对于计算要导出到 Conan 缓存的二进制文件的“package_id”是必要的。生成的依赖关系图可以传递给 export_pkg() 方法

参数:
  • path – 用户文件夹中 conanfile.py 的路径

  • ref – 完整的 RecipeReference,包括 recipe-revision

  • profile_host – 主机上下文的配置文件

  • profile_build – 构建上下文的配置文件

  • lockfile – 可选的 lockfile

  • remotes – 远程仓库列表

  • is_build_require – 如果包打算用作 tool-requires

  • skip_binaries

  • output_folder – 包含输出文件的文件夹,例如潜在的环境脚本

返回:

可以传递给 export_pkg() 方法的 Graph 对象

export_pkg(graph, output_folder=None) None

执行导出的配方的 package() 方法,以便将工件从用户文件夹复制到 Conan 缓存包文件夹

参数:
  • graph – Graph 对象

  • output_folder – 安装依赖项的环境脚本等生成文件的可选文件夹