Locked History Actions

sbt/Getting-Started-Hello

Hello, World

https://github.com/harrah/xsbt/wiki/Getting-Started-Helloの訳(2011/10/26時点)

既にsbtをインストールしていることを前提とするよ。

ソースコード入りのプロジェクトディレクトリを用意する

ただ一つのソースファイルの入ったディレクトリでも正当なsbtプロジェクトになりうる。 以下のように作成しよう

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

このケースではsbtでは純粋にコンベンションのもとで動作する。以下を自動的に見つけてくれるんだ。

  • ベースディレクトリ中のソース
  • src/main/scalaあるいはsrc/main/java中のソース
  • src/test/scalaあるいはsrc/test/java中のテスト
  • src/main/resourcesあるいはsrc/test/resources中のデータファイル
  • lib中のjarファイル

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

sbtのrunコマンドで君のプロジェクトを実行することもできるし、sbtコンソールからScalaのREPLを使うこともできる。 sbtコンソールは君のプロジェクトのクラスパスをセットアップしているので、君のプロジェクトのコードをベースとするScalaコードサンプルを試してみることもできる。

ビルド定義

多くのプロジェクトではマニュアルのセットアップが必要だろう。 基本的なビルド設定は、プロジェクトのベースディレクトリに置いたbuild.sbtというファイルで行う。

プロジェクトがhelloというディレクトリにあるなら、hello/build.sbtというファイルを作成して、以下のように記述する。

name := "hello"

version := "1.0"

scalaVersion := "2.9.1"

「.sbt build definition」で、build.sbtファイルの書き方について見ていく。

プロジェクトを一つのjarにまとめようと思っているのであれば、少なくともbuild.sbtにて、nameとversionを指定しておく必要がある。

sbtのバージョンを指定する

hello/project/build.propertiesというファイルを作ることによって、特定のバージョンのsbtの使用を強制することもできる。 このファイルに以下のように記述する。

sbt.version=0.11.0

0.10以降、sbtはリリース間での99%ソース互換を持つようになった(訳注:ほんと?)。 が、project/build.propertiesでsbtのバージョンを指定することは、混乱を避けるためだ。

次はディレクトリ構造