sbt を入れてみた

sbt (Simple Build Tool) は Scala 界隈でよく使われているビルドツールです。DSL の本領発揮といった黒魔術書のようなビルド定義に腰が引けていましたが、Kestrel のビルドに必要なので入れてみます。始める sbt - ようこそ も参照。

インストールに必要なものは Java 6 以降の実行環境と sbt-launchar.jar のみ。sbt-launchar.jar は TypeSafe のダウンロードサイトから適当なバージョンをダウンロードして下さい。あとは起動シェルを書いて実行権限を与えるだけです。

torao@safran$ wget "http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar"
--2012-01-02 19:24:33--  http://typesafe.artifactoryonline.com/typesafe/ivy-releases/org.scala-tools.sbt/sbt-launch/0.11.2/sbt-launch.jar
typesafe.artifactoryonline.com をDNSに問いあわせています... 50.19.229.208
typesafe.artifactoryonline.com|50.19.229.208|:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1041753 (1017K) [application/java-archive]
`sbt-launch.jar' に保存中

100%[================================================>] 1,041,753    204K/s 時間 6.2s

2012-01-02 19:24:40 (165 KB/s) - `sbt-launch.jar' へ保存完了 [1041753/1041753]

torao@safran$ mv sbt-launch.jar ~/bin/
torao@safran$ cat > ~/bin/sbt
java -Xmx512M -jar `dirname $0`/sbt-launch.jar "$@"
torao@safran$ chmod 755 ~/bin/sbt

早速起動してみるとものすごい勢いでダウンロードが行われ環境構成が始まります。インタラクティブモードになったようなので exit で終了します。

torao@safran$ sbt
Getting net.java.dev.jna jna 3.2.3 ...
downloading http://repo1.maven.org/maven2/net/java/dev/jna/jna/3.2.3/jna-3.2.3.jar ...
        [SUCCESSFUL ] net.java.dev.jna#jna;3.2.3!jna.jar (4263ms)
:: retrieving :: org.scala-tools.sbt#boot-app
        confs: [default]
        1 artifacts copied, 0 already retrieved (838kB/81ms)
Getting Scala 2.9.1 (for sbt)...
downloading http://repo1.maven.org/maven2/org/scala-lang/scala-compiler/2.9.1/scala-compiler-2.9.1.jar ...
        [SUCCESSFUL ] org.scala-lang#scala-compiler;2.9.1!scala-compiler.jar (30201ms)
downloading http://repo1.maven.org/maven2/org/scala-lang/scala-library/2.9.1/scala-library-2.9.1.jar ...
        [SUCCESSFUL ] org.scala-lang#scala-library;2.9.1!scala-library.jar (31420ms)
…
        [SUCCESSFUL ] org.scala-tools.sbt#cache_2.9.1;0.11.2!cache_2.9.1.jar (1515ms)
downloading http://repo1.maven.org/maven2/org/scala-tools/testing/test-interface/0.5/test-interface-0.5.jar ...
        [SUCCESSFUL ] org.scala-tools.testing#test-interface;0.5!test-interface.jar (797ms)
:: retrieving :: org.scala-tools.sbt#boot-app
        confs: [default]
        37 artifacts copied, 0 already retrieved (7324kB/336ms)
[info] Set current project to default-f67fa0 (in build file:/home/torao/workspace/kestrel/kestrel/project/build/)
> exit

実行後は $HOME の下に .sbt/ と .ivy2/ が出来上がっていました。.sbt/ 以下には Scala 2.9.1 と JNA のライブラリが入っています。.ivy2/ は Apache Ivyリポジトリでしょうかね。