Emotional-Hudsonプラグインをリリースしてみた...けど失敗した。:-(
見よう見まねで途中までできたんだけど,OSXのバッタモンJDK1.6じゃリリースまでできなかった(Rhinoが無いのね。>Soylatte)。
それでも途中経過を忘れないうちにメモしとく。
#寝る前にやるんじゃなかった。:-)
事前準備
まず,
$ mvn release:prepare
を叩く。「CVSにログインしろ」言われてコケるけど気にしない。
カレントディレクトリに 'release.properties' ってファイルができるんで,必要に応じて中身を書き換える。あたしの場合,OSXのログインIDとjava.netのアカウント名が異なっていたんで,scm.url(CVSROOT)を書き換える必要があった。
どっちにしろCVSにはログインしとかなきゃならない。でも,java.netのアカウントもらってるから,'~/.cvspass'にログイン情報があるんで平気...じゃなかった。どうゆうわけか,CVSROOTがポート番号(2401)ありと無しの2系統で処理するみたいなんで,'~/.cvspass'にはこんなエントリを加えておくのが無難。
pserver:yourname@cvs.dev.java.net:/cvs Ahogehoge pserver:yourname@cvs.dev.java.net:2401/cvs Ahogehoge
それと,java.netにアップロードするため,'~/.java.net'ってファイルも作っとけって。
くわしくは,こちら。→https://javanettasks.dev.java.net/nonav/maven/config.html
あと,ワーキングコピー配下にCVS管理外のファイルやディレクトリがあっても'mvn release:prepare'がコケるので事前に退避しておく(OSXだと'.DS_Store'なんかもダメ。'release.properties'はおk)。
リリース作業
'mvn release:prepare'を叩くと,3つばかし質問に答える必要がある。要するにリリースバージョンと次の開発バージョンの付与なんで,提案してくるデフォの値でいいんじゃないかな。
#'mvn release:prepare'により,java.netのCVSにリリースタグが打たれるっぽい。
$ mvn release:prepare [INFO] Scanning for projects... [INFO] Searching repository for plugin with prefix: 'release'. : [INFO] Checking dependencies and plugins for snapshots ... What is the release version for "Emotional Hudson plugin"? (org.jvnet.hudson.plugins:emotional-hudson) 1.01: : 1.01 What is SCM release tag or label for "Emotional Hudson plugin"? (org.jvnet.hudson.plugins:emotional-hudson) emotional-hudson-1_01: : What is the new development version for "Emotional Hudson plugin"? (org.jvnet.hudson.plugins:emotional-hudson) 1.02-SNAPSHOT: : [INFO] Transforming 'Emotional Hudson plugin'... :
最後に,'mvn release:perform'でリリースモジュールをjava.netにアップロードするんだけど,残念なことに'hpi:upload'で「Rhinoが無い」言われてコケた。orz
$ mvn release:perform : [INFO] [hpi:upload] Rhino classes (js.jar) not found - Javascript disabled [INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] org/jaxen/JaxenException [INFO] ------------------------------------------------------------------------ [INFO] Trace java.lang.NoClassDefFoundError: org/jaxen/JaxenException :
まあいい。SoylatteにRhino入れて,また今度チャレンジしよう。
もう寝る。