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 は気にしないでください。バージョン色々試してたら直すの忘れてました。
もっかいデプロイするのめんどかったのでそのままにしました。ごめんなさい。
github に processing の maven リポジトリを作ってみた
http://d.hatena.ne.jp/alpha_neet/20111103/1320312236 の続きです。
公式で processing の mavenリポジトリが用意されるまで適当に野良置いておくと便利かなーと思ったので作ってみました。
どうも scala のバージョン × processing のバージョン分のリポジトリを用意しないと駄目っぽいので(全部はさすがに用意しませんが(笑))
github に mavenリポジトリ 置くようのアカウント一個作るました。
とりえあず動かしてみる
- build.sbt
resolvers += "github Maven Repository" at "https://github.com/alphaneet-debu/maven/raw/master" libraryDependencies += "processing" %% "core" % "1.5.1"
- main.scala
object Main extends processing.core.PApplet { override def setup() { size(400, 300) background(255, 0, 0) } def main(args: Array[String]) = runSketch() }
sbt run
400x300の赤いウィンドウが出たら成功です。
以降はリポジトリ作成までの手順メモ
まさかの手作業
最初は http://code.google.com/p/processing/source/checkout から落として来て
maven でビルドして、デプロイしよかなーと思ったんですが
svn checkout http://processing.googlecode.com/svn/trunk/ processing-read-only
で落としてきてのはいいものの「で?1.5.1ってどこなの?」
という状態になってしまいまして、なんかブランチもタグも切ってないように見えます。。。
公式や google code のページも一通り見たんですけど結局 1.5.1 のリビジョン番号か分かりませんでした。
その時、「もすかして手打ちでも動くんじゃね?」と邪神様の囁きにのまま試しに カカッ とやってみたら動いたんでもうこれでいいか。となりました。
md5 とか色々ないんですが、まぁいいや^^^^^^;;;;;;
一体いままで maven 勉強してきたのはなんだったんでしょうね。。。という顔になりました。
追記
http://processing.googlecode.com/svn/tags/processing-1.5.1/
にありました><
最初から trunk を引っぱてきちゃったことに気づいてないアホでしたすいませんorz
リポジトリを用意する
mkdir -p maven/processing/core_2.9.1/1.5.1/
cd maven
cp ~/lib/jar/processing-core-1.5.1.jar processing/core_2.9.1/1.5.1/core_2.9.1-1.5.1.jar
vim processing/core_2.9.1/1.5.1/core_2.9.1-1.5.1.pom
processing の core.jar は http://d.hatena.ne.jp/alpha_neet/20110706/1309901375 らへんを参考にゲットしてください。
自分は手元にあるやつそのままコピーしました。
- processing/core_2.9.1/1.5.1/core_2.9.1-1.5.1.pom
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>processing</groupId> <artifactId>core_2.9.1</artifactId> <version>1.5.1</version> <packaging>jar</packaging> <name>core</name> <url>http://code.google.com/p/processing/</url> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> </properties> </project>
git init
git add .
git commit -m 'create repo processing-core'
git remote add origin git@github.com:alphaneet-debu/maven.git
git push origin master
テストする前に rm -rf ~/.ivy2/cache/processing/ でキャッシュ消しておくのを忘れないようにして
sbt から呼んでみて動いたら成功。