1. 模組摘要

模組摘要 

以下是模組層的概念圖

Module diagram

此圖的排列方式是讓每一層僅依賴於其下方的層。

IO API (sbt/io) 

IO API 是一個用於處理檔案和目錄的低階 API。

序列化 API (sbt/serialization) 

序列化 API 是 Scala Pickling 的意見導向封裝器。序列化 API 的職責是將值轉換為 JSON。

Util API (sbt/util) 

Util API 提供 sbt 常用的功能,例如記錄和內部資料類型。

LibraryManagement API (sbt/librarymanagement) 

sbt 的函式庫管理系統基於 Apache Ivy,因此函式庫管理系統的概念和術語也受到 Ivy 的影響。函式庫管理 API 的職責是計算傳遞相依性圖,並從給定的儲存庫下載成品。

IncrementalCompiler API (sbt/zinc) 

Scala 的增量編譯非常基礎,以至於我們現在很少將其視為 sbt 的一項功能。其中涉及許多子專案/類別,它們實際上是內部細節,我們應該利用此機會將它們隱藏起來。

建置 API (待定) 

這是暴露給 build.sbt 的部分。模組的職責是載入建置檔案和外掛程式,並提供一種在狀態上執行命令的方法。

這可能會保留在 sbt/sbt

sbt 啟動器 (sbt/launcher) 

sbt 啟動器提供一個通用容器,可以載入和執行使用 Ivy 相依性管理器解析的程式。sbt 將其用作部署機制,但它也可以用於其他目的。

如需更多詳細資訊,請參閱 foundweekends/conscript啟動器

用戶端/伺服器 (待定) 

目前在 sbt/sbt-remote-control 中開發。sbt 伺服器提供一個基於 JSON 的 API,封裝了命令列體驗的功能。

其中一個用戶端將是「終端用戶端」,它將取代命令列 sbt Shell。計畫中的其他用戶端是 IDE 整合。

網站 (sbt/website) 

本網站的原始碼。