扩展¶
Conan 可以通过几种方式使用自定义用户代码进行扩展
python_requires
允许将常见的 recipe 代码放在 recipe 包中,其他 recipe 可以通过声明python_requires = "mypythoncode/version"
来重用。借助 Python 和 Conan 公共 API 的强大功能,您可以创建自己的自定义 Conan 命令来满足自身需求。
如果您使用的构建系统不受内置 Conan 工具的支持,也可以创建自己的自定义 Conan 生成器。这些可以从
python_requires
中使用或全局安装。hooks
是“前置”和“后置”recipe 方法(例如pre_build()
和post_build()
)扩展,可用于通过正交功能(如质量检查、二进制分析、日志记录等)来补充 recipe。二进制兼容性
compatibility.py
扩展允许编写自定义规则,以在不同设置和选项之间定义自定义二进制兼容性cmd_wrapper.py
扩展允许将任意命令包装器注入任何self.run()
recipe 命令调用中,这对于将包装器作为并行化工具注入非常有用包签名扩展允许分别在上传和安装时签名和验证包
部署器,一种机制,用于方便地将文件从一个文件夹(通常是 Conan 缓存)复制到用户文件夹
注意
除了本文档中列出的内置 Conan 扩展之外,还有一个包含 Conan 扩展的仓库,例如自定义命令和部署器,这些扩展对于不同的目的(如 Artifactory 任务、Conan Center Index 等)很有用。
您可以在GitHub 仓库中找到关于如何使用这些扩展的更多信息。
目录