Java

Lionにしたら release:perform プラグインでエラー発生 #maven #gpg #fink #homebrew

Lionをインストール後初めて maven の release プラグインでTwitter4Jの安定バージョンをリリースしようとしたところエラーが発生しました。

Lionにしたせいなのか、pom.xmlをなにか間違えていじってしまったのか最初わかりませんでしたが、gpgがインストールされていないためでした。Lionをインストールしたタイミングでfinkをごっそり削除したためです。

Lion版のfinkではまだgpgがパッケージされていないようなのでhomebrewからインストールして一件落着。
以下検索用ログ。

$ mvn -e release:perform -Dgpg.passphrase=******* -Darguments="-Dgpg.passphrase=****** -Dmaven.test.skip=true"

[INFO] [INFO] Building jar: /Users/yusukey/opensource/twitter4j/target/checkout/twitter4j-core/target/twitter4j-core-2.2.4-javadoc.jar
[INFO] [INFO] [gpg:sign {execution: sign-artifacts}]
[INFO] [INFO] ————————————————————————
[INFO] [ERROR] BUILD ERROR
[INFO] [INFO] ————————————————————————
[INFO] [INFO] Unable to execute gpg command
[INFO]
[INFO] Embedded error: Error while executing process.
[INFO] error=2, No such file or directory
[INFO] [INFO] ————————————————————————
[INFO] [INFO] For more information, run Maven with the -e switch
[INFO] [INFO] ————————————————————————
[INFO] [INFO] Total time: 45 seconds
[INFO] [INFO] Finished at: Tue Aug 02 19:11:43 JST 2011
[INFO] [INFO] Final Memory: 35M/102M
[INFO] [INFO] ————————————————————————
[INFO] ————————————————————————
[ERROR] BUILD ERROR
[INFO] ————————————————————————
[INFO] Maven execution failed, exit code: '1'

[INFO] ————————————————————————
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Maven execution failed, exit code: '1'
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:569)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:539)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:284)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Maven execution failed, exit code: '1'
at org.apache.maven.plugins.release.PerformReleaseMojo.execute(PerformReleaseMojo.java:133)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
… 17 more
Caused by: org.apache.maven.shared.release.ReleaseExecutionException: Maven execution failed, exit code: '1'
at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:89)
at org.apache.maven.shared.release.phase.RunPerformGoalsPhase.execute(RunPerformGoalsPhase.java:67)
at org.apache.maven.shared.release.DefaultReleaseManager.perform(DefaultReleaseManager.java:334)
at org.apache.maven.shared.release.DefaultReleaseManager.perform(DefaultReleaseManager.java:282)
at org.apache.maven.shared.release.DefaultReleaseManager.perform(DefaultReleaseManager.java:262)
at org.apache.maven.plugins.release.PerformReleaseMojo.execute(PerformReleaseMojo.java:129)
… 19 more
Caused by: org.apache.maven.shared.release.exec.MavenExecutorException: Maven execution failed, exit code: '1'
at org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:375)
at org.apache.maven.shared.release.exec.InvokerMavenExecutor.executeGoals(InvokerMavenExecutor.java:393)
at org.apache.maven.shared.release.phase.AbstractRunGoalsPhase.execute(AbstractRunGoalsPhase.java:81)
… 24 more
[INFO] ————————————————————————
[INFO] Total time: 1 minute 19 seconds
[INFO] Finished at: Tue Aug 02 19:11:43 JST 2011
[INFO] Final Memory: 9M/81M
[INFO] ————————————————————————

fink にはまだLion用のgpgがない。

$ fink install gpg
Password:
Information about 1817 packages read in 0 seconds.
Failed: no package found for specification 'gpg'!

homebrewからgpgをインストール。

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.github.com/gist/323731)"

/usr/local/lib/libfuse_ino64.2.dylib
==> Installation successful!
Now type: brew help
$ brew install gpg

ftp://ftp.gnupg.org/gcrypt/gnupg/gnupg-1.4.11.tar.bz2
######################################################################## 100.0%
######################################################################## 100.0%==> Downloading patches
==> Patching
patching file configure.ac
patching file ChangeLog
==> /usr/bin/autoconf
==> ./configure –prefix=/usr/local/Cellar/gnupg/1.4.11 –disable-asm
==> make
==> make check
==> make install
/usr/local/Cellar/gnupg/1.4.11: 52 files, 5.1M, built in 55 seconds