Scala
Git
sbt

Github 上のライブラリや sbt plugin を使う (sbt 0.13 以降用)

More than 1 year has passed since last update.

Scala のライブラリや sbt plugin のうち、maven central などのレポジトリに登録されていないものを使うのも sbt なら簡単です。
自分で fork してちょっと書き換えたバージョンを使いたい場合なんかにも使えます。

Github 上のライブラリを使う

user/repo-name を使いたいと仮定して build.sbt に次のように書きます。

build.sbt
lazy val root = project.in(file(".")).dependsOn(githubRepo)

lazy val githubRepo = uri("git://github.com/user/repo-name.git#commit")

いくつか注意点があります。

  • 1行目と3行目の間に空行(改行だけの行)が必要です。
  • uri() 引き数のフォーマットに注意します。Github の SSH clone URL では通りません。たとえば nscala-time の場合、SSH clone URL は git@github.com:nscala-time/nscala-time.git ですが、git://github.com/nscala-time/nscala-time.git を指定します(@://:/ の二箇所、よく見てください)。
  • uri には #commit で branch 名や commit id を指定できます。特定の commit を使い続けたい場合に指定します。

なお、「Github上」と書きましたが、公開 Git レポジトリであれば Github である必要はありません。Bitbucket でも Gitlab でも Gitbucket でもいいです。

Github 上の sbt plugin を使う

sbt plugin の場合も書き込むファイルが違うだけで、あとは同じです。
user/repo-name が sbt plugin だとして、project/plugins.sbt に次のように書きます。

project/plugins.sbt
lazy val root = project.in(file(".")).dependsOn(githubRepo)

lazy val githubRepo = uri("git://github.com/user/repo-name.git#commit")

注意点はライブラリの場合と同じです。