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。高階外掛系統允許外掛使用所有這些相同的功能。
相關文章
- 《自然》證實:計算機語言更類似人類語言計算機
- e語言 類似eval函式作用的函式
- ModStart多語言支援
- Qt 多語言支援QT
- ModStart系統多語言支援
- WPF多語言支援:簡單靈活的動態切換,讓你的程式支援多國語言
- Go語言一個輕便的實時日誌類似slack收集應用Go
- Meta開源其類似GPT-3的語言模型 - RedditGPT模型
- 如何組織構建多檔案 C 語言程式(二)
- 如何組織構建多檔案 C 語言程式(一)
- 基於maven構建多模組化的SSM框架MavenSSM框架
- Fusion元件庫是如何支援多語言能力的元件
- 98.css:構建類似於 Windows 98 的介面的CSS庫CSSWindows
- 更好用、能擴充套件、支援多國語言提示的表單驗證類庫套件
- Maven 高階篇之構建多模組專案的方法Maven
- eclipse中基於maven構建多模組專案EclipseMaven
- Qt 編寫應用支援多語言版本--一個GUI應用示例QTGUI
- Android國際化(多語言)實現,支援8.0Android
- 如何構建設計語言系統
- Elixir語言在Ruby社群很火,語法類似Ruby,本質卻是Erlang! - preslavR語言
- clover 一個windows 多個視窗集中在一個介面類似google的多標籤功能軟體WindowsGo
- 使用golang+antlr4構建一個自己的語言解析器(二)Golang
- 請教:vim選中多個單詞,類似 vscode 的ctrl+dVSCode
- 一個TextView設定多種格式(類似於“評論”的樣式)TextView
- Maven 自動化構建Maven
- Maven 構建 Java 專案MavenJava
- Maven 構建生命週期Maven
- 系統框架及內容如何支援多語言版本框架
- 如何封裝一個flutter的多語言plugin封裝FlutterPlugin
- 從零到一:用Go語言構建你的第一個Web服務GoWeb
- 鮑勃大爺:軟體架構類似房子,物件導向是房子的結構,水管線管是函數語言程式設計架構物件函數程式設計
- 如何學習多個國家語言?
- eclipse用Maven構建SpringMVC環境報錯找不到springmvc包下的Dispatcher類EclipseMavenSpringMVC
- Laravel中的多語言Laravel
- 企業產品網站多語言支援 - 實踐案例網站
- 使用VuePress搭建一個類似element的文件Vue
- 【Maven】構建可執行JarMavenJAR
- 使用Maven構建Java專案MavenJava