github に maven リポジトリを作ってみた
http://d.hatena.ne.jp/alpha_neet/20111030/1319994407 の続きです。
前回ローカルにリポジトリを作成してみたので、次は github 上に作成してみます。
http://www.pshared.net/diary/20100912.html を参考にしました。
pom.xml の修正
前回との違いは url がローカルパスから github の url になっている点です。
https://github.com/alphaneet/sample-maven-repo/blob/master/hello/work_2.9.1/1.0/work_2.9.1-1.0.pom#L14 な感じにします。
github にデプロイ
mvn -DaltDeploymentRepository=hello-work::default::file:sample-maven-repo clean deploy
sample-maven-repo ディレクトリが作られていれば成功。
plugin とか使えば出来るかもしれませんが、デフォルトの状態では github に直接デプロイ出来ないので、別の場所に吐き出して手動で git push します。
DaltDeploymentRepository はエクスポート先のパスっぽいです。
cd sample-maven-repo
git init
git add .
git commit -m 'add hello-work'
git remote add origin git@github.com:alphaneet/sample-maven-repo.git
git push origin master
sbtで使用してみる
ほぼ前回と一緒です。resolvers の追加をローカルパスでなく github の url にするだけですが、
通常の URL + /raw + /ブランチ名(多分) にしなければなりません。今回ならば
https://github.com/alphaneet/sample-maven-repo/raw/master
が基準となる url です。
- build.sbt
resolvers += "github Maven Repository" at "https://github.com/alphaneet/sample-maven-repo/raw/master" libraryDependencies += "hello" %% "work" % "1.0"
- main.scala
object Main { def main(args: Array[String]) { println(new (hello.App).hatarake) } }
実行する前にちゃんと github のリポジトリを見てるか確認するため
前回のローカルリポジトリ作った時に取得したのキャッシュを消しておきます。
rm ~/.ivy2/cache/hello/
sbt run
「Hello Work! 1.2.1」と表示されたら成功。
1.2.1 は気にしないでください。バージョン色々試してたら直すの忘れてました。
もっかいデプロイするのめんどかったのでそのままにしました。ごめんなさい。