柯南2.0 @ CPPCon 2022有什么新消息
2023年1月20日
2分钟阅读
在柯南1.0发布后的4年多时间里,我们一直在从c++生态系统中学习,见证它的成长;从数以万计的用户和客户(包括世界上许多最大的c++相关公司)的对话反馈中学习许多经验教训、挑战和行业趋势。这次演讲总结了其中的一些经验教训,以及它们是如何被用来创造新的主要版本的柯南。例如,虽然许多人提倡只使用头文件或始终使用静态链接,但使用共享库,特别是链接和嵌入其他静态库的共享库,在业界是一种非常常见的模式。柯南2实现了超越CMake私有/公共使用需求的“需求特征”,允许指定复杂的依赖关系图,包括引导、工具交叉构建、私有依赖关系等等。
许多团队生成的库、应用程序、sdk或其他工件需要由使用不同技术(如Java、Node等)的其他团队部署或使用,而不使用Conan。Conan 2新的“部署器”,可以由用户定义,允许轻松提取工件,以及自动创建Debian软件包,Windows安装程序或任何其他类型的派生工件。
有许多企业,非常大的C和c++项目需要管理二进制文件(物料清单),不仅是为了减少构建时间,也是为了可追溯性、安全性、行业政策等。大规模创建和管理二进制文件仍然是一个巨大的挑战。Conan 2提供了更简单的“lockfiles”,允许完全再现依赖关系图,一个新的自定义用户定义的全局二进制兼容性机制,以及更准确地计算当某些依赖关系发生变化时需要重建哪些包二进制文件。
最后,我们了解到包管理是更大的DevOps、持续集成、自动化和开发人员体验难题中的另一个部分,许多用户已经在Conan上构建了不同的自动化层。因此,柯南2发布了一个新的公共Python API(大约65%的用户已经在使用Python来自动化C和c++),以及新的自定义模块化命令来扩展柯南CLI。