sbt
単純なビルドツール
簡単なことが簡単に
ハロー、ワールド!
ThisBuild / scalaVersion := "3.3.3"
build.sbt
に 1 行追加するだけで、Scala を始められます。詳しくは sbt by Example ページで学べます。sbt new
コミュニティがメンテナンスしている Giter8 テンプレート から 1 つを選択して、プロジェクトを始めることができます$ sbt new scala/scala-seed.g8
$ sbt new playframework/play-scala-seed.g8
$ sbt new akka/akka-http-quickstart-scala.g8
$ sbt new http4s/http4s.g8
$ sbt new holdenk/sparkProjectTemplate.g8
sbt について
Scala と Java 向け
sbt は、Scala と Java のプロジェクト向けに設計されています。Scala 開発者の 84.7% (2023) に選ばれるビルドツールです。Scala 固有の機能の 1 つとして、1 つのプロジェクトにおいて複数の Scala バージョンで クロスビルド する機能があります。
タイプセーフで並列処理
build.sbt
は、並列処理タスクグラフを表現する Scala ベースの DSL です。build.sbt
でのタイプミスは、コンパイル時エラーとして検出されます。
高速に繰り返す
Zinc の増分コンパイラとファイル監視 (~
) により、編集-コンパイル-テストのループが高速かつ増分処理されます。
拡張可能
新しいタスクやプラットフォーム (Scala.js など) のサポートを追加するのは、build.sbt
を書くのと同じくらい簡単です。sbt タスクを共有して再利用している 100 種類以上のコミュニティがメンテナンスするプラグイン に参加しましょう。
ビルドツールを超えたもの
以前、開発者の時間の 21% は WebLogic アプリケーションの再デプロイに費やされており、これは受け入れられませんでした。生産性を高めるための方法、つまりソリューションを我々は見つける必要がありました。これが、Play と Akka を開発した理由の一つです。ホットリロードには本当に感心しました。今、開発者の生産性は明らかに向上しています。
—キーユル・シャー、Verizon のアソシエイトフェロー
sbt は、Tapad の技術スタックの中核となる重要なコンポーネントです。優れた効率性を実現する手段として、ビルドツールを超えた活用がエンジニアリング組織内で大いに評価されています。sbt とインタラクティブシェルは、標準化されたアプリケーションテスト、リリース、デプロイメントプラットフォームのインターフェイスで構成されています。アーティファクトとアプリケーションは、4 つのグローバルデータセンター間で配信、更新、および拡張されます。
—タパッド CTO ジェフリー・オルチョビー
sbt-native-packager を使用して Docker のようなネイティブフォーマットを構築し、sbt-release にはバージョン処理のための良い手順があり、sbt-bintray を使用して Bintray にリリースできます。パターンがあります。プラグインを取り込みます。設定があります。その設定について説明書を読み込みます。そして、役目を果たします。
—オーボエナジー ソフトウェア開発者 ガブリエル・アスマン