search term:

sbt 2.0.0

sbt プロジェクトを代表して sbt 2.0.0 のリリースをアナウンスします。sbt 2.0 は、Scala 3 と Bazel 互換なキャッシュ・システムに基づいた新しい sbt メジャー・バージョンの系列です。

sbt 2.x は引き続き Semantic Versioning に準拠してリリースされるので、プラグインは 2.x系ずっと動作することが期待されいます。是非使ってみて、不具合などがあれば報告をお願いします。

sbt 2.0 の主な機能

詳細は sbt 2.0 の変更点参照。

アップグレード方法

sbt 2.0.0 以降の公式 sbt ランナーを SDKMAN もしくは https://github.com/sbt/sbt/releases/tag/v2.0.0 からダウンロードして sbt シェルスクリプト、ランチャー、および sbtn をアップグレードする。ランナーは任意のバージョンの sbt を起動できる。

実際にビルドが使用する sbt のバージョンは project/build.properties ファイルによって管理される:

sbt.version=2.0.0

この機構によって、使いたいビルドにだけ sbt 2.0.0 を使うことができる。

ドキュメンテーションのローカリゼーション

sbt 2.x ドキュメンテーション (英語版) は、Diátaxis というドキュメンテーションを 4種類に分けて考えるという方法論に基づいている。

ほとんどのページはローカライズされており、例えば why sbt exists (英語版) は、sbt の存在理由 (日本語版) とsbt 的存在理由 (中国語、簡体字) に翻訳されている。ドキュメンテーション関連のコントリビューションも歓迎する。

プラグイン・エコシステムの移行

プラグインのクロスビルド協力お願いの wiki ページは現在、sbt 1.x系と 2.x系の両方にクロスビルドすることで移行中のプラグインが数十個書かれている。マイグレーション・キャンペーンに抜けているものがあれば報告してほしい。

参加

僕は sbt 開発は今のところ業務外の自分の時間で行っていて、Scala Center 関係者の Anatolii Kmetiuk さん (新メンテナ)、Adrien Piquerez さん (卒業)、および Kenji Yoshida (吉田憲治) さん、Jerry Tan さん、Matthias Kurz さん (Play メンテナ)、Billy Autrey さんなどの多くの有志の方々に協力してもらっている。

sbt 2.0.0 は、sbt 1.x系の開発、プラグインの移行などを含めると大勢のコントリビューターの協力によって開発されたが、git shortlog -sn --no-merges 00eba85d98c854527125ae1655b5332c19b5afd8...733bcfb23997930915b563e7d27b1a1f6c0490da --not 1.11.xgit shortlog -sn --group=author --group=trailer:co-authored-by --no-merges 242bd18d30c418620024d089b587f6d263d34247...v2.0.0 --not 1.12.x によると、新規のコミットは以下のとおり (敬称略):

545 Eugene Yokota (eed3si9n)
217 Kenji Yoshida (xuwei-k)
146 Adrien Piquerez
51  Jerry Tan (friendseeker)
37  MkDev11
34  bitloi
30  Scala Steward
21  calm329
16  Anatolii Kmetiuk
15  dependabot[bot]
14  Yasuhiro Tatsuno
13  E.G
11  Pandaman
10  João Ferreira
9   Anton Sviridov
9   Brian Hotopp
8   Aleksandra Zdrojowa
7   Dream
7   GlobalStar117
7   Matt Dziuban
5   Dairus
4   Martin Duhem
4   john0030710
3   Angel98518
3   Brice Jaglin
3   Li Haoyi
3   gayanMatch
2   Ali Rashid
2   Billy Autrey
2   BitToby
2   Damian Reeves
2   Daniil Sivak
2   Dmitrii Naumenko
2   Douglas Ma
2   Frank S. Thomas
2   Jame4u
2   Josh Soref
2   Kamil Podsiadło
2   Marco Zühlke
2   Matthew de Detrich
2   Matthias Kurz
2   Michał Pawlik
2   Miguel Vilá
2   NeedmeFordev
2   Pluto
2   Renzo
2   Rikito Taniguchi
2   SID
2   Satoshi Dev
2   byteforge
2   circlecrystalin
2   it-education-md
1   Albert Meltzer
1   Deborah Funmilola Olaboye
1   Eve
1   Francluob
1   Guillaume Massé
1   Hamza Remmal
1   Hugo van Rijswijk
1   Idan Ben-Zvi
1   Jakub Kozłowski
1   James Roper
1   Karl Yngve Lervåg
1   Lazz
1   Lukas Rytz
1   Nikita Vilunov
1   OlegYch
1   Pegasus
1   Rex Kerr
1   Roberto Tyley
1   Saber
1   SalesforcePeak
1   SlowBrainDude
1   Zainab Ali
1   bohdansolovie
1   chrisrock1124
1   corevibe555
1   dev-miro26
1   dive2tech
1   fireXtract
1   kijuky
1   nathanlao

この場をお借りしてコントリビューターの皆さんにお礼を言いたい。他にも sbt や Zinc を使ったり、バグ報告したり、ドキュメンテーションを改善したり、ビルドを移植したり、プルリクエストをレビューをするなどして sbt を改善してくれている皆さんにも感謝。

sbt を手伝ってみたいなという人は興味次第色々方法がある。Contributing“help wanted”“good first issue” などが出発地点になると思う。


Scala Days でのトーク

Scala Days 2025 にて sbt 2.0 の発表を行った (英語動画, 資料)。

Scala Center への募金

Scala Center は、教育とオープンソースを支援する EPFL に所属する非営利団だ。