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 はエクスポート先のパスっぽいです。


githubリポジトリを作った後に

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 です。

vim build.sbt
vim main.scala

  • build.sbt
resolvers += "github Maven Repository" at "https://github.com/alphaneet/sample-maven-repo/raw/master"

libraryDependencies += "hello" %% "work" % "1.0"
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 のバージョン分のリポジトリを用意しないと駄目っぽいので(全部はさすがに用意しませんが(笑))
githubmavenリポジトリ 置くようのアカウント一個作るました。

とりえあず動かしてみる

vim build.sbt
vim main.scala

  • build.sbt
resolvers += "github Maven Repository" at "https://github.com/alphaneet-debu/maven/raw/master"

libraryDependencies += "processing" %% "core" % "1.5.1"
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>

githubリポジトリを作っておいて

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 から呼んでみて動いたら成功。