sbt 最初由 Mark Harrah(@harrah)於 2008 年建立。sbt 的大多數基本方面,例如 Scala 增量編譯器、與 Maven 和 Ivy 相依性的整合,以及平行任務處理,都是由 Mark 構思和最初實作的。
到 2010 年,sbt 0.7 發佈時,許多開源 Scala 專案都使用 sbt 作為其建置工具。
Mark 在 2011 年加入 Typesafe(現在的 Lightbend),該公司於同年成立。sbt 0.10.0 於同年發佈。Mark 一直是維護者和最活躍的貢獻者,直到 2014 年 3 月,sbt 0.13.1 是他最後一個版本。
Typesafe 的 Josh Suereth(@jsuereth)成為 sbt 的下一任維護者。
2014 年,Eugene Yokota(@eed3si9n)加入 Typesafe,與 Josh 共同領導 sbt。該團隊將 0.13 系列推進到 0.13.5,並開始將 1.0 作為技術預覽。在 Josh 於 2015 年離開,發佈 sbt 0.13.9 後,他們已發佈了 AutoPlugin
、使 sbt 0.13 保持良好狀態,並為 sbt 伺服器奠定了基礎。
Grzegorz Kossakowski(@gkossakowski)在 Typesafe 的 Scala 團隊工作期間,致力於一種更好的增量編譯器演算法,稱為「名稱雜湊」。名稱雜湊成為 sbt 0.13.6 (2014) 中的預設增量編譯器。Lightbend 後來委託 Grzegorz 使用一種稱為基於類別的名稱雜湊的技術來改進名稱雜湊,該技術被 Zinc 1 採用。Grzegorz 的另一個顯著貢獻是與 @WarszawScaLa 主持了一系列聚會,並(胳膊上掛著吊帶 )解決了臭名昭著的空白行問題。
2015 年 5 月,Dale Wijnand(@dwijnand)在貢獻了 inThisBuild
和 -=
等功能後,成為社群的提交者。
從 2015 年 6 月到 2016 年初,Martin Duhem(@Duhemm)以實習生身分加入 Typesafe,致力於 sbt。在此期間,Martin 致力於關鍵元件,例如使編譯器橋接器可針對 Zinc 組態,以及產生偽案例類別的程式碼(後來成為 Contraband)。
大約在這個時候,Eugene、Martin 和 Dale 開始了 sbt 1.x 程式碼庫,將程式碼庫分割成多個模組:sbt/sbt、Zinc 1、sbt/librarymanagement、sbt/util 和 sbt/io。目標是使 Zinc 1 成為所有建置工具都可使用的增量編譯器。
2016 年 8 月,Dale 加入 Lightbend 的工具團隊。Dale 和 Eugene 監督了 0.13.12 到 0.13.16 的版本,以及 sbt 1.0 的開發。
2017 年春季,Scala Center 參與了 Zinc 1 的開發工作。Jorge Vicente Cantero(@jvican)貢獻了許多改進,包括修復了阻礙 Zinc 1 的「as seen from」錯誤。
從 2018 年春季開始,Ethan Atkins 作為社群成員加入了 sbt 專案,並迅速成為該專案的主要貢獻者。他最初的貢獻是實作 Close Watch,該功能使用原生程式碼在 macOS 上提供監看服務。從那時起,他致力於各種與效能相關的改進,包括分層 ClassLoader、記錄重寫以及使用 GraalVM 原生映像檔的原生瘦用戶端。
根據 sbt/sbt、sbt/zinc、sbt/librarymanagement、sbt/util、sbt/io、sbt/contraband 和 sbt/website 上的 git shortlog -sn --no-merges
,有 318 位貢獻者提交了 9151 次非合併提交。
有關個人貢獻的詳細資訊,請參閱變更。
以下人士對 sbt 貢獻了想法、文件或程式碼,但未在上方列出
如果沒有這麼多出色的外掛程式,sbt 生態系統將會截然不同。以下是一些外掛程式及其貢獻者
也要感謝在 Stack Overflow (Jacek Laskowski、Lukasz Piepiora 等人) 和 sbt Gitter 頻道上回答問題的人,以及在 GitHub 上回報問題和貢獻想法的許多人。
感謝大家。