Deletions are marked like this. | Additions are marked like this. |
Line 60: | Line 60: |
* Launcher | * [[sbt/dt_Launcher|ランチャ]] |
Simple Build Tool(SBT)
何をするものか
MavenやIvy+Antのような位置づけのものらしい。依存解決からビルド・配布物の作成までをやってくれるらしい。 Ivyと同じく依存解決はMavenのリポジトリを使うらしい(試しながらの記述なのですべて「らしい」)。
しかも、Scalaで記述されたScala専用のビルドツールらしい。
さらにここが特徴的なのだが、複数のプロジェクトで「何かを共有する」ことはしないらしい。 SBTの配布物は、複数のプロジェクトの共有ライブラリとしてどこかに置いておくことはせず、各プロジェクトのディレクトリのそれぞれにコピーを置いておき、 しかもそれぞれにScalaの処理系やらプロジェクトに必要な依存ライブラリをダウンロードしてしまうらしい(-->これ間違い。ivyのリポジトリで共有管理される)。
複数のプロジェクトで唯一共有されるものと言えば、Javaの処理系のみらしい。
これはこれで理にかなった方法ではある。複数のプロジェクトで共有されるものの整合性を管理するのに苦労するより、プロジェクト専用のものを管理すればよいのだから。ディスクは十分安いので無理に共有することもなかろう。
※sbtは0.7と0.10以降とで非常に大きな変更がある。 書籍や様々なウェブサイトで0.7の機能が紹介されているが、現在(2011/10)のsbtとは大きく異なる。
参考サイト
ドキュメント翻訳
Getting Started
Detailed Topics
- Artifacts what to publish
- Best Practices
- Command Line Reference
- Compiler Plugins
- Console Project
- Cross Build
- Forking
- Inspecting Settings
- Java Sources
- Library Management
- Local Scala
- Mapping Files
- Migrating to 0.10+
- Parsing Input
- Paths
- Process
- Publishing
- Resolvers
- Running Project Code
- Scripts
- Setup Notes
- Testing
- Triggered Execution
- Update Report
インストール
0.10以降は、従来のgooglecodeからgihubにウェブサイトが変更されている。https://github.com/harrah/xsbt/wiki/Setup
ダウンロードは、http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/の中の最新のものにすればよい。
ダウンロードしたjarファイルは$SCALA_HOME/libやプロジェクトのlibディレクトリ、あるいはその他クラスパスの通ったところには置いてはいけないという。
次にDOS窓でsbtコマンドが使えるように、sbt.batを作成し、これをPATHの通ったところにおくか、PATHを通す。
java -Xmx512M -jar "(sbt-launch.jarをおいたパス)\sbt-launch.jar" %*
初回にsbtコマンドを実行すると、scala環境を勝手にダウンロードしてくるので、終了するまで待つ必要がある。
チュートリアル
IDE用プラグイン
sbt/IntelliJ(sbt0.7に基づいている)