Conan 是一個去中心化、開源的C/C++ 包管理器。適用於所有平台,包括Linux、macOS、Windows、Solaris、FreeBSD、Docker、WSL 等。它可以為任何配置和平台創建、上傳和下載二進製档案, 甚至交叉編譯,節省大量的開發和持續集成時間。
基於Conan 1.x 的經驗教訓,Conan 2.0 帶來了許多激動人心的改進。此外,為了使升級更容易,團隊還做了很多努力將必要的東西反向移植到Conan 1.x,使用最新1.x 將與2.0 兼容,並且兩個版本的二進製档案不會衝突並且能夠在同一個服務器存儲庫中共存。
新的圖形模型
Conan 2.0 定義了新的需求特徵和包類型,以更好地表示C 和C++ 二進製档案產生的關係,比如可執行档案、共享庫鏈接靜態庫或共享庫。
新的公共Python API
一個新的模塊化Python API 被提供,並被公開和記錄。這是一個真正的API,其構建模塊已經用於構建Conan 的內置命令,但也允許進一步擴展。不同的功能組有不同的子API,可以實現高級用戶流、功能和自動化。
新的構建系統集成
在最新的Conan 1.X 中引入,Conan 2.0 將使用現代構建系統集成,如 CMakeDeps
和 CMakeToolchain
,它們是完全透明的CMake 集成。這些集成也可以實現更好的IDE 集成。
新的自定義用戶命令
Conan 2.0 允許用自定義的用戶命令來擴展Conan,這些命令是用python 編寫的,可以用 conan xxxx
來調用。這些命令可以通過 conan config install
共享和安裝,並且有多層命令和子命令。
新CLI
Conan 2.0 重新設計了CLI,以提高一致性,消除歧義,並改善用戶體驗。新的CLI 還將所有的信息、警告和錯誤信息發送到stderr,而將最終結果保留在stdout,允許多種輸出格式,並使用重定向來創建档案 --format=json > myfile.json
。 CLI 提供的信息將更加結構化和徹底,以便更容易用於自動化,特別是在CI/CD 系統中。
新的package_id
Conan 2.0 定義了一個新的、動態的 package_id
,與Conan 1.X 的局限性相比,這個 package_id
將考慮到包的類型和需求類型,根據不同的情況實施更有意義的策略。
compatibility.py
Conan 2.0 有一個新的擴展機制,可以在全局層面上定義二進制兼容性。 Conan 緩存中的 compatibility.py
档案將被用來定義在某個軟件包有某些缺失的二進製档案的情況下應該使用哪些二進製档案的回退。
其他
- 新的配置和環境管理
- 多版本緩存
- 新擴展插件
- 軟件包的簽名和驗證
- ……
更多詳情可查看:https://github.com/conan-io/conan/releases/tag/2.0.0
You may also like
相关贴文:
近期文章
- 如何使用WordPress創建電子商務網站| WooCommerce在線商店教程2024免費
- WooCommerce的Xeroflow會計插件:發票同步,客戶同步和產品同步
- WordPress 2024的最佳和免費WooCommerce主題 – 必須具有電子商務網站的主題
- 如何使用Elementor逐步建立一個強大的WooCommerce商店
- WooCommerce一頁結帳插件|直接結帳|立即購買按鈕|收銀員插件教程
- 如何將自定義字段添加到WooCommerce產品| WooCommerce的高級產品字段
- WooCommerce Live:初學者代碼
- 如何為WooCommerce創建多步結帳| JetWoobuilder
- CómoHaceruna tienda enlíneaen wordpress y wooCommerce
發佈留言