Hudsonをビルドするときの問題
Hudsonをビルドするときに今までちょっと引っかかっていた点を。
HudsonはMaven2でビルドするようになっている。
それでmvnコマンドでcleanを実行した後、installを実行すると「BUILD FAILURE」となってビルドが途中で終わってしまう。
もう一回installを実行すると、ビルドが最後まで行われる。
途中で終わってしまったときのログは以下に*1。
環境は、OSはWinXP SP2、JDK6u5、Maven2.0.9
[INFO] ------------------------------------------------------------------------ [INFO] Building Hudson remoting layer [INFO] task-segment: [install] [INFO] ------------------------------------------------------------------------ [INFO] [enforcer:display-info {execution: default}] [INFO] Maven Version: 2.0.9 [INFO] JDK Version: 1.6.0_05 normalized as: 1.6.0-5 [INFO] OS Info: Arch: x86 Family: windows Name: windows xp Version: 5.1 [INFO] [remote-resources:process {execution: default}] [INFO] inceptionYear not specified, defaulting to 2008 [INFO] [resources:resources] [INFO] Using default encoding to copy filtered resources. [INFO] [compiler:compile] [INFO] Compiling 34 source files to D:\eclipse-jee-europa-winter-win32\workspase \Hudson\main\remoting\target\classes [INFO] [resources:testResources] [INFO] Using default encoding to copy filtered resources. [INFO] [compiler:testCompile] [INFO] Compiling 11 source files to D:\eclipse-jee-europa-winter-win32\workspase \Hudson\main\remoting\target\test-classes [INFO] ------------------------------------------------------------------------ [ERROR] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Compilation failure D:\eclipse-jee-europa-winter-win32\workspase\Hudson\main\remoting\src\test\java\ hudson\remoting\BinarySafeStreamTest.java:[3,54] 警告:com.sun.org.apache.xerces. internal.impl.dv.util.Base64 は Sun が所有する API であり、今後のリリースで削除 される可能性があります。 D:\eclipse-jee-europa-winter-win32\workspase\Hudson\main\remoting\src\test\java\ hudson\remoting\BinarySafeStreamTest.java:[36,24] 警告:com.sun.org.apache.xerces .internal.impl.dv.util.Base64 は Sun が所有する API であり、今後のリリースで削除 される可能性があります。 D:\eclipse-jee-europa-winter-win32\workspase\Hudson\main\remoting\src\test\java\ hudson\remoting\BinarySafeStreamTest.java:[47,24] 警告:com.sun.org.apache.xerces .internal.impl.dv.util.Base64 は Sun が所有する API であり、今後のリリースで削除 される可能性があります。 D:\eclipse-jee-europa-winter-win32\workspase\Hudson\main\remoting\src\test\java\ hudson\remoting\BinarySafeStreamTest.java:[69,24] 警告:com.sun.org.apache.xerces .internal.impl.dv.util.Base64 は Sun が所有する API であり、今後のリリースで削除 される可能性があります。 D:\eclipse-jee-europa-winter-win32\workspase\Hudson\main\remoting\src\test\java\ hudson\remoting\BinarySafeStreamTest.java:[105,25] 警告:com.sun.org.apache.xerce s.internal.impl.dv.util.Base64 は Sun が所有する API であり、今後のリリースで削 除される可能性があります。 [INFO] ------------------------------------------------------------------------ [INFO] Trace org.apache.maven.BuildFailureException: Compilation failure at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:579) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLi fecycle(DefaultLifecycleExecutor.java:499) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(Defau ltLifecycleExecutor.java:478) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHan dleFailures(DefaultLifecycleExecutor.java:330) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmen ts(DefaultLifecycleExecutor.java:291) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLi fecycleExecutor.java:142) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.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.CompilationFailureException: Compilation fail ure at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompiler Mojo.java:516) at org.apache.maven.plugin.TestCompilerMojo.execute(TestCompilerMojo.jav a:102) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPlugi nManager.java:451) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Defa ultLifecycleExecutor.java:558) ... 16 more [INFO] ------------------------------------------------------------------------ [INFO] Total time: 8 seconds [INFO] Finished at: Fri May 02 21:43:56 JST 2008 [INFO] Final Memory: 23M/42M [INFO] ------------------------------------------------------------------------
ログを見てると、原因はBinarySafeStreamTest.javaがcom.sun.org.apache.xerces.internal.impl.dv.util.Base64を使っていて、テスト実行時に警告が出てビルドが終わってしまうのかな。
ただ、EclipseでJUnitを実行しても警告が出ずにテストは通るんだよなー。
Maven2.0.8のときでも出ていたし、何が原因やら。
*1:mvn -e installでのログ