导出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 – 可选文件夹,其中安装了生成的文件(例如依赖项的环境脚本)