Pants:類似Maven但支援多個語言的構建
Pants 是一種快速、遠端友好且符合人體工程學的構建工具,適用於 Python、Go、Java 和 Scala 等多種語言。
Pants 構建系統是一個多語言工具,具有許多不錯的功能,包括完全並行性和遠端工作者支援。Pants 已經存在好幾年了,但自從 2.0 版以來,它執行在一個完全重建的 Rust 引擎上,該引擎適合高效能。
在撰寫本文時,Pants 的版本為 2.9,現在包括對 Java 和 Scala 的 alpha 支援以及對 Python 和 Go 的支援。
Maven 或 Bazel 等傳統構建工具要求您維護一組依賴項,並在外部檔案中列出。Pants 建議通過分析您的原始檔並推斷它們來改變這一點。
在 Python 的情況下,您將類似地建立一箇中央檔案來對映 repo 使用的依賴項的“宇宙”,但 Pants 對實際使用的依賴項具有智慧。Pants 準確瞭解專案中每個檔案所需的依賴項,並有效地使用任務所需的依賴項子集。
特點
有一些有趣的功能使 Pants 成為一個值得考慮作為傳統選擇的替代品的構建系統。這裡有一個描述。
- 自動依賴推理。深吸一口氣,鬆了一口氣:Pants 可以分析您的匯入語句,並在沒有大量後設資料的情況下找出要下載的內容。
- 細粒度的失效。Pants 儘可能在最小的單元上工作,因此失敗會使最小的新工作無效。
- 智慧結果快取。Pants 旨在根據輸入精確地快取結果,因此隨著時間的推移相同的執行將不需要重做相同的工作。
- 併發執行。Pants 是用 Rust 編寫的,其架構可以充分利用多核機器,從而在您的構建中實現並行性。
- 遠端工作者。可以在遠端構建機器上設定Pants 。結合快取和併發,Pants 允許團隊重用彼此的構建結果並利用高效能執行。
- 多語種。通過統一的介面支援多種語言和平臺。
- 外掛 API。高階外掛系統允許外掛使用所有這些相同的功能。
相關文章
- Maven構建多模組工程Maven
- 《自然》證實:計算機語言更類似人類語言計算機
- e語言 類似eval函式作用的函式
- Qt 多語言支援QT
- ModStart多語言支援
- 類似於C語言的printf函式 (轉)C語言函式
- 使用Go語言構建一個解釋型語言Go
- ModStart系統多語言支援
- 基於maven構建多模組化的SSM框架MavenSSM框架
- 製作一個類似蘋果VFL的格式化語言來描述UIStackView蘋果UIView
- maven 使用maven profile實現多環境可移植構建Maven
- ASP實現多語言支援 (轉)
- LINUX下kill掉多個類似程式的妙招Linux
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- Meta開源其類似GPT-3的語言模型 - RedditGPT模型
- Go語言一個輕便的實時日誌類似slack收集應用Go
- maven 學習總結(八)——使用Maven構建多模組專案Maven
- ASP程式介面的多語言支援 (轉)
- Fusion元件庫是如何支援多語言能力的元件
- Maven專案多環境構建的最小配置方案指南Maven
- IDEA中MAVEN專案有多個子目錄,如何載入構建IdeaMaven
- HongHu雲架構 - maven的構建架構Maven
- 線上語言編輯器(js,css,html等多種語言支援)JSCSSHTML
- 98.css:構建類似於 Windows 98 的介面的CSS庫CSSWindows
- 更好用、能擴充套件、支援多國語言提示的表單驗證類庫套件
- Zend Framework 入門(2)—多國語言支援Framework
- [轉]Matz,Koichi訪談(四):多語言支援
- VC開發多語言介面支援的簡單方法
- eclipse中基於maven構建多模組專案EclipseMaven
- [Kails] 一個基於 Koa2 構建的類似於 Rails 的 nodejs 開源專案AINodeJS
- Qt 編寫應用支援多語言版本--一個GUI應用示例QTGUI
- 如何構建設計語言系統
- IntelliJ IDEA 構建maven多模組工程專案(詳細多圖)IntelliJIdeaMaven
- clover 一個windows 多個視窗集中在一個介面類似google的多標籤功能軟體WindowsGo
- 多環境支援-Maven和Spring的ProfileMavenSpring
- Maven 構建 Java 專案MavenJava
- Maven Web專案構建MavenWeb