ビルドツールsbtについて解説

最終更新:2020年6月1日

[AD] scalapediaでは記事作成ボランティアを募集しています

sbtのロゴ

この記事では、scalaで用いられるビルドツール「sbt」について説明します。

sbtとは「ビルドツール」

sbtは、ScalaやJavaのプログラムのためのビルドツールです。
プラグインを使用することにより、例えばKotlinのプログラムを扱うこともできます。

ビルドツールとは、プログラムを構築するための補助ソフトのこと

ビルドツールとは、プログラムを構築するために必要な機能を一通り揃えたツールソフトのことです。

プログラミングは、プログラムをファイルに書いて保存して終わりではありません。
プログラムを構築するにあたってさまざまな作業を行うことになります。

様々な作業とは、具体的には以下のような作業です。

  • 必要なファイルを特定してインターネットから取得する
  • 書かれたプログラムをコンパイルする
  • 期待通りに処理できるかどうか確認するために、実際に動作させる
  • 書いたテストを実行して、すべて成功するかどうか確認する
  • 完成したプログラムを本番環境に移せるように一つにまとめる

これらの作業を自動化することで、プログラマの作業を効率化し支援してくれるソフトが「ビルドツール」です。

ビルドツールとIDEとの違いは「どの種類の作業を支援するのか」

IDEはプログラムを編集するためのソフトです。
つまり、プログラムをファイルに書いて保存する作業を支援するソフトです。
ファイルを編集するテキストエディタに対して、プログラムを編集するのに便利な機能を追加したのがIDEです。

これに対して、ビルドツールにはファイル自体を編集する機能はありません。
すでに編集してあるファイルを、プログラムとして実際に動かすためのソフトです。
IDEよりも広い範囲の作業の面倒を見てくれます。

近年ではエディタやIDEが非常に高機能になりました。
ビルドツールが組み込まれているIDEがあったりします。

面倒を見てくれるタイミングや対象が異なる、という点がIDEとビルドツールとの違いです。

ビルドツールには、様々な機能が備わっている

ビルドツールには、プログラム構築にまつわる様々な機能が備わっています。
たとえば、以下のような機能です。

  • ビルド定義ファイルを読んで、必要なファイルをインターネット経由で取得する
  • プログラムをコンパイルする
  • テストを実行する
  • 配布可能な形式にして出力する

また、プラグインをインストールすると、より高度な使い方もできるようになります。

sbtをインストールする方法

sbtをインストールする方法については、以下の記事にて説明しています。

sbt以外にもビルドツールはある

Scalaのプログラムを構築するのに使えるビルドツールは、sbt以外にもあります。
たとえばMillやCBTといったものがあります。

両者は日本国内ではまだそれほど普及していないものの、それぞれリリースから数年が経ち、機能が改善されるとともに動作が安定してきました。
必要に応じて使用を検討してみるのもよいでしょう。

Millについてはこちらのリンクを参照してください。

外部リンク:Intro to Mill

CBTについてはこちらのリンクを参照してください。

サイト内検索