おぺれーしょん・りふれくしょん のレポート(名前に特に意味はない)

sbt は github のプロジェクトを参照することが可能と教えてもらったので試してみました。
(.git リポジトリの url あるなら多分どこでもいける)


maven-repo にするまでもない共有ライブラリとか置くといいかもしれません。(受け売り)

環境

scala 2.9.1.final
sbt 0.11

ライブラリ側

github に適当なリポジトリを作っときます。

mkdir lib
cd lib
vim Lib.scala

object Lib { val msg = "える・ぷさい・こんがりぃ" }

sbt compile(念のため)
git init
git add Lib.scala
git commit -m 'first commit'
git remote add origin "自分の github の .git の url"
git push origin master

ユーザー側

https://github.com/harrah/xsbt/wiki/Full-Configuration
http://eed3si9n.github.com/sbt-getting-started-guide-ja/multi-project/
正直適当にやったら動いたという感じなので、詳しくはこちらを参照してください。

mkdir user
cd user
mkdir project
vim project/Build.scala
vim User.scala

import sbt._

object MyBuild extends Build {
  lazy val root = Project(id = "", base = file(".")) dependsOn(lib)

  // 自分の github の .git の url。read-only の url じゃないと駄目だと思われ。
  lazy val lib  = uri("git://github.com/alphaneet/lib.git")
}
object Main extends App { println(Lib.msg) }

sbt を起動した後に Build.scala を追加した場合は reload > update をしてください

run
える・ぷさい・こんがりぃ

ライブラリファイルのコピー先

Cloning into /Users/alphaneet/.sbt/staging/6a76381d920334f075f7...

"sbt を起動した時" or "既に起動してたら update した時" にこのようなログが出ます
これがコピー先でしてそこに移動すればソースコードがあります。


あとコンパイルした場合もライブラリのクラスファイルはここに置かれることになります。


という感じになりますーではではー
La jodaso stiana.(別れの合い言葉、意味はない)