以下是模組層的概念圖
此圖的排列方式是讓每一層僅依賴於其下方的層。
IO API 是一個用於處理檔案和目錄的低階 API。
序列化 API 是 Scala Pickling 的意見導向封裝器。序列化 API 的職責是將值轉換為 JSON。
Util API 提供 sbt 常用的功能,例如記錄和內部資料類型。
sbt 的函式庫管理系統基於 Apache Ivy,因此函式庫管理系統的概念和術語也受到 Ivy 的影響。函式庫管理 API 的職責是計算傳遞相依性圖,並從給定的儲存庫下載成品。
Scala 的增量編譯非常基礎,以至於我們現在很少將其視為 sbt 的一項功能。其中涉及許多子專案/類別,它們實際上是內部細節,我們應該利用此機會將它們隱藏起來。
這是暴露給 build.sbt
的部分。模組的職責是載入建置檔案和外掛程式,並提供一種在狀態上執行命令的方法。
這可能會保留在 sbt/sbt。
sbt 啟動器提供一個通用容器,可以載入和執行使用 Ivy 相依性管理器解析的程式。sbt 將其用作部署機制,但它也可以用於其他目的。
如需更多詳細資訊,請參閱 foundweekends/conscript 和 啟動器。
目前在 sbt/sbt-remote-control 中開發。sbt 伺服器提供一個基於 JSON 的 API,封裝了命令列體驗的功能。
其中一個用戶端將是「終端用戶端」,它將取代命令列 sbt Shell。計畫中的其他用戶端是 IDE 整合。
本網站的原始碼。