扩展

Conan 可以通过一些方式使用自定义用户代码进行扩展。

  • python_requires 允许将通用的配方代码放在一个配方包中,其他配方可以通过声明 python_requires = "mypythoncode/version" 来重用该代码。

  • 您可以创建自己的自定义 Conan 命令来解决自身需求,这要归功于 Python 和 Conan 公共 API 的强大功能。

  • 如果您正在使用 Conan 工具不支持的构建系统,也可以创建自己的自定义 Conan 生成器。这些生成器可以从 python_requires 中使用或全局安装。

  • hooks 是“前”和“后”配方方法(如 pre_build()post_build())扩展,可用于通过正交功能(如质量检查、二进制分析、日志记录等)来补充配方。

  • 二进制兼容性 compatibility.py 扩展允许编写自定义规则,以定义跨不同设置和选项的自定义二进制兼容性。

  • cmd_wrapper.py 扩展允许为任何 self.run() 配方命令调用注入任意命令包装器,这对于注入包装器作为并行化工具很有用。

  • 包签名扩展允许分别在上传和安装时对包进行签名和验证。

  • 部署器,一种机制,用于促进从一个文件夹(通常是 Conan 缓存)到用户文件夹复制文件。

注意

除了本文档中列出的内置 Conan 扩展外,还有一个存储库包含 Conan 的扩展,例如自定义命令和部署器,可用于不同目的,例如 Artifactory 任务、Conan Center Index 等。

您可以在 GitHub 存储库 中找到有关如何使用这些扩展的更多信息。

内容