Locked History Actions

Diff for "sbt"

Differences between revisions 26 and 27
Deletions are marked like this. Additions are marked like this.
Line 21: Line 21:
 * [[http://eed3si9n.com/sbt-010-guide|非公式 sbt 0.10 ガイド v2.0]]

Simple Build Tool(SBT)

何をするものか

MavenやIvy+Antのような位置づけのものらしい。依存解決からビルド・配布物の作成までをやってくれるらしい。 Ivyと同じく依存解決はMavenのリポジトリを使うらしい(試しながらの記述なのですべて「らしい」)。

しかも、Scalaで記述されたScala専用のビルドツールらしい。

さらにここが特徴的なのだが、複数のプロジェクトで「何かを共有する」ことはしないらしい。 SBTの配布物は、複数のプロジェクトの共有ライブラリとしてどこかに置いておくことはせず、各プロジェクトのディレクトリのそれぞれにコピーを置いておき、 しかもそれぞれにScalaの処理系やらプロジェクトに必要な依存ライブラリをダウンロードしてしまうらしい(-->これ間違い。ivyのリポジトリで共有管理される)。

複数のプロジェクトで唯一共有されるものと言えば、Javaの処理系のみらしい。

これはこれで理にかなった方法ではある。複数のプロジェクトで共有されるものの整合性を管理するのに苦労するより、プロジェクト専用のものを管理すればよいのだから。ディスクは十分安いので無理に共有することもなかろう。

参考サイト

インストール

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用プラグイン