ディレクトリ構造
https://github.com/harrah/xsbt/wiki/Getting-Started-Directoriesの訳(2011/10/27時点)
ここでは、既にsbtをインストールし、「Hello, World」を表示できたものとするよ。
ベースディレクトリ
sbt用語の「ベースディレクトリ」とは、プロジェクトを含むディレクトリのことだ。 つまり、hello/build.sbtとhtllo/hw.scalaを含むプロジェクトの場合、helloが君のベースディレクトリ、ということ。
ソースコード
hello/hw.scalaのように、ソースコードは、プロジェクトのベースディレクトリに置くこともできる。 しかし、リアルなプロジェクトにおいて、ほとんどの人はこんなことはしないだろう。
sbtは、デフォルトではMavenと同じディレクトリ構造を前提とする。 (以下のパスはベースディレクトリ相対であることに注意)。
src/ main/ resources/ <メインのjarに格納されるべきファイル> scala/ <メインのscalaソース> java/ <メインのjavaソース> test/ resources <テスト用のjarに格納されるべきファイル> scala/ <テスト用scalaソース> java/ <テスト用javaソース>
src/下の他のディレクトリは無視される。それに加えて、「隠し」ディレクトリも無視されるよ。
sbtビルド定義ファイル
既にプロジェクトベースディレクトリにあるbuild.sbtについては述べた。 他のsbtファイルはprojectサブディレクトリに入れる。
プロジェクトは.scalaファイルを含むことができる。 これは.sbtファイルと結合されて完全なビルド定義をするものだ。 「.scala build definitions」を参照のこと。
build.sbt project/ Build.scala
project/の下に.sbtファイルが存在することもあるが、これはプロジェクトベースディレクトリの.sbtファイルとは異なるものだ。 先に背景となる情報が必要なので、このことについては後で説明するよ。
プロダクトのビルド
生成物(compiled classes, packaged jars, managed files, caches, and documentation)は、デフォルトでは、targetディレクトリに書き込まれる。
バージョンコントロールの設定
君の.gitignore(あるいは他のバージョンコントロールシステムでの同じようなファイル)は、以下を含む必要がある。
target/
最後の/が必要なことに注意(ディレクトリのみにマッチするようにするため)。そして、最初の/はつけちゃだめだ(project/target/にマッチさせるため)。
次はsbtの実行