Hello, World

始める sbt 3/14 ページ

このページは、君がsbt をインストールしたことを前提にする。

ソースコードの入ったプロジェクトディレクトリを作る

一つのソースファイルを含むディレクトリでも、一応有効な sbt プロジェクトとなりうる。試しに、作って実行してみよう:

  $ mkdir hello
  $ cd hello
  $ echo 'object Hi { def main(args: Array[String]) = println("Hi!") }' > hw.scala
  $ sbt
  ...
  > run
  ...
  Hi!

この例では、sbt は純粋に convention(デフォルトの慣例)だけを使って動作している。 sbt は以下を自動的に検知する:

  • ベースディレクトリ内のソース
  • src/main/scalasrc/main/java 内のソース
  • src/test/scalasrc/test/java 内のテスト
  • src/main/resourcessrc/test/resources 内のデータファイル
  • lib 内の jar ファイル

デフォルトでは、sbt は sbt 自身が使っている Scala のバージョンを使ってプロジェクトをビルドする。

sbt run を用いてプロジェクトを実行したり、sbt console を用いて Scala REPL に入ることができる。sbt console は君のプロジェクトにクラスパスを通すから、 君のプロジェクトのコードを使った Scala の例をライブで試すことができる。

ビルド定義

ほとんどのプロジェクトは何らかの手動設定が必要だ。基本的なビルド設定は build.sbt というファイルに書かれ、 プロジェクトのベースディレクトリ (base directory) に置かれる。

例えば、君のプロジェクトが hello ディレクトリにあるなら、hello/build.sbt をこんな感じで書く:

name := "hello"
    
version := "1.0"
    
scalaVersion := "2.9.1"

.sbt ビルド定義で、build.sbt の書き方をもっと詳しく説明する。

君のプロジェクトを jar ファイルにパッケージ化する予定なら、最低でも build.sbt に name と version は書いておこう。

sbt バージョンの設定

hello/project/build.properties というファイルを作ることで、特定のバージョンの sbt を強制することができる。 このファイルに、以下のように書く:

sbt.version=0.11.0

0.10 以降は、sbt はリリース間で 99% ソースの互換性を持たせてある。 だけど、sbt バージョンを project/build.properties に設定することで混乱を予防することできる。

続いては

sbt プロジェクトのファイルとディレクトリのレイアウトについてみてみよう。