-
New Feature
-
Resolution: Fixed
-
Major
-
None
-
Powered by SuggestiMate
Hudson maven-plugin doesn't work with Maven 3 on Linux. On Linux Hudson builds its own Java command line and does some additional magic to launch Maven. On Windows it works fine because mvn.bat is used instead.
The mechanism on Linux fails for two reasons:
1. classworlds-*.jar was upgraded to plexus-classworlds-2.2.2 with Maven 3, so the classpath is wrong.
2. plexus-classworlds-2.2.2 is not fully backward compatible. After renaming the jar to classworlds-2.2.2.jar the error is:
$ /opt/java/x86_64/jdk1.6.0_16/bin/java -Xmx768m -XX:MaxPermSize=256m -cp /home/hudson/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.335.jar:/opt/maven/3.0-alpha-5/boot/classworlds-2.2.2.jar hudson.maven.agent.Main /opt/maven/3.0-alpha-5 /usr/share/tomcat5/webapps/hudson/WEB-INF/lib/remoting-1.335.jar /home/hudson/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.335.jar 32917
Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.classworlds.Launcher.getWorld()Lorg/codehaus/classworlds/ClassWorld;
at hudson.maven.agent.Main.main(Main.java:115)
at hudson.maven.agent.Main.main(Main.java:62)
ERROR: Failed to launch Maven. Exit code = 1
Skipping sonar analysis due to bad build status FAILURE
Finished: FAILURE
Reason for the above error is that getWorld() returns a different type in 2.2.2 which isn't assignable to the type returned in 1.x.
A general question: Why does Hudson use different mechanisms for launching Maven on Windows and Linux?
Tested with 1.335
- depends on
-
JENKINS-5360 add a new classloader ("a la" child first for plugin)
-
- Closed
-
- is blocking
-
JENKINS-7734 Hudson : NPEs inconsistently during maven builds
-
- Resolved
-
- is related to
-
JENKINS-8389 Add support for Apache Maven 3.0.1 auto installer
-
- Resolved
-
[JENKINS-4988] Maven 3 support in maven-plugin
There is a bug in maven 2.x which is only fixed in maven 3.0
<profile><activation><file><exists/> does not work in a multi-project build
http://jira.codehaus.org/browse/MNG-2363
With this bug there not a working combination of maven and hudson that can use a file for activating a profile in a multi-module project
Maven 3 has a new build plan and lifecycle API that would be a better option for integration in Hudson.
This issue becomes a little more pressing now as maven 3 is officially released.
Just tried to move to official release of Maven 3.0 and finding Hudson 1.380 with java 6 on Linux (multiproject pom) does not work. All my hudson plugins are also updated to the latest releases.
My job output:
Parsing POMs
[modules] $ /home/foo/hudson/tools/bin/java -cp /home/foo/hudson/plugins/maven-plugin/WEB-INF/lib/maven-agent-1.380.jar:/home/foo/apache-maven-3.0/boot/plexus-classworlds-2.2.3.jar hudson.maven.agent.Main /home/foo/apache-maven-3.0 /home/foo/hudson/war/WEB-INF/lib/remoting-1.380.jar /home/foo/hudson/plugins/maven-plugin/WEB-INF/lib/maven-interceptor-1.380.jar 53698
Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.classworlds.Launcher.getWorld()Lorg/codehaus/classworlds/ClassWorld;
at hudson.maven.agent.Main.main(Main.java:115)
at hudson.maven.agent.Main.main(Main.java:62)
Terminating xvnc.
$ vncserver -kill :10
Killing Xvnc process ID 13366
ERROR: Failed to launch Maven. Exit code = 1
If you web search for "Exception in thread "main" java.lang.NoSuchMethodError: org.codehaus.classworlds.Launcher.getWorld" you will see other people are hitting this too.
The same project builds fine from the command line with "mvn install" on the the same Linux server using the same maven 3.0 and java version.
olamy,
I see this issue does not have a fix version. Any idea when when might see Maven 3 support in Hudson?
I have a workaround for that problem. If you use a "Freestyle project" instead of a Maven2 project you can use Maven 3.
I have started to work on this.
Please note : Personnally I work on this during my spare time, so no real timeframe.
olamy,
Thanks for the communication and the hard work you put into this. We all really appreciate it!
I guess your work is in http://github.com/olamy/hudson-maven3-support/commits/master.
From http://github.com/olamy/hudson-maven3-support/blob/master/README it looks like a separate plugin.
Can it live happily side by side the default maven(2) support in hudson?
yup the goal is to be user friendly (no new plugin : that's the challenge !)
Code changed in hudson
User: : olamy
Path:
trunk/hudson/lib/maven-embedder/pom.xml
trunk/hudson/lib/maven-embedder/src/main/java/hudson/maven/MavenEmbedder.java
trunk/hudson/lib/maven-embedder/src/main/java/hudson/maven/MavenEmbedderException.java
trunk/hudson/lib/maven-embedder/src/main/java/hudson/maven/MavenRequest.java
trunk/hudson/lib/maven-embedder/src/test/java/hudson/maven/TestMavenEmbedderSimpleProject.java
trunk/hudson/lib/maven-embedder/src/test/projects-tests/one-module/pom.xml
trunk/hudson/lib/maven-embedder/src/test/projects-tests/one-module/src/main/java/com/mycompany/app/App.java
trunk/hudson/lib/maven-embedder/src/test/projects-tests/one-module/src/test/java/com/mycompany/app/AppTest.java
http://jenkins-ci.org/commit/36159
Log:
JENKINS-4988 pushing some jobs on embedder version using maven 3 apis
Should a maven-plugin configuration option be exposed which disables the M3 support? Since we will only have one plugin which builds Maven projects for all Maven releases, perhaps it would be useful to provide a mechanism for disabling the new support code path..
If we agree that a kill switch should be exposed, what should its default value be?
nice idea, but is a configuration element for that really necessary? From a user point of view, I want the plugin to work, not depending on which version of Maven I'm using. The design decision was that the plugin works with both versions. Isn't it possible to derive necessary information from the context (Maven version), in order to switch some parts of the implementation?
I think Oliver would need to comment what is and is not possible, but I just think that if we break everyone's working M2 jobs because of some regression while enabling M3 support.... it would be very, very bad.
Uhm, As we have planned to move the embedder to maven 3 apis.
All the embedder part will be upgraded using this new versions.
So having such option will be impossible IMHO.
BTW I will work in a branch so some people will be able to test the change.
It's worth mentioning that Maven 3 is supposed to be backwards-compatible with Maven 2 , within the limits noted at https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html . Perhaps that should somehow be communicated to the users?
Uhm some core (internal) maven apis are not compatible.
And some are used in the hudson maven plugin (exemple DefaultPluginManager which has changed)
In reply to comment #18:
> Uhm some core (internal) maven apis are not compatible.
> And some are used in the hudson maven plugin (exemple DefaultPluginManager which
> has changed)
I meant that for the Hudson users things will probably not break when the Maven 3 support comes out. For plugin developers it's a different business altogether.
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/core/pom.xml
branches/main-maven3-support/core/src/main/java/hudson/PluginManager.java
branches/main-maven3-support/maven-agent/pom.xml
branches/main-maven3-support/maven-agent/src/main/java/hudson/maven/agent/Main.java
branches/main-maven3-support/maven-agent/src/main/resources/hudson/maven/agent/classworlds-2.0.6.conf
branches/main-maven3-support/maven-agent/src/main/resources/hudson/maven/agent/classworlds.conf
branches/main-maven3-support/maven-interceptor/pom.xml
branches/main-maven3-support/maven-interceptor/src/main/java/hudson/maven/agent/DefaultPluginManager.java
branches/main-maven3-support/maven-interceptor/src/main/java/hudson/maven/agent/PluginManagerInterceptor.java
branches/main-maven3-support/maven-plugin/pom.xml
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/AbstractMavenBuilder.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/EmbedderLoggerImpl.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3ProcessFactory.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenBuilder.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenComputerListener.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenProcessFactory.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenUtil.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenVersionCallable.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MojoInfo.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/RedeployPublisher.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/reporters/MavenAbstractArtifactRecord.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/reporters/MavenAggregatedArtifactRecord.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/reporters/MavenArtifact.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/reporters/MavenArtifactRecord.java
branches/main-maven3-support/maven3-agent/.gitignore
branches/main-maven3-support/maven3-agent/pom.xml
branches/main-maven3-support/maven3-agent/src/main/java/org/jvnet/hudson/maven3/agent/Maven3Main.java
branches/main-maven3-support/maven3-agent/src/main/java/org/jvnet/hudson/maven3/agent/RealFilterOutputStream.java
branches/main-maven3-support/maven3-agent/src/main/resources/org/jvnet/hudson/maven3/agent/classworlds.conf
branches/main-maven3-support/maven3-listener/.gitignore
branches/main-maven3-support/maven3-listener/pom.xml
branches/main-maven3-support/maven3-listener/src/main/java/org/apache/maven/cli/DefaultMavenExecutionRequestBuilder.java
branches/main-maven3-support/maven3-listener/src/main/java/org/apache/maven/cli/MavenExecutionRequestBuilder.java
branches/main-maven3-support/maven3-listener/src/main/java/org/apache/maven/cli/MavenExecutionRequestsBuilderException.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/launcher/Maven3Launcher.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/listeners/HudsonMavenExecutionResult.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/listeners/MavenProjectBuildResult.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/listeners/MavenProjectInfo.java
branches/main-maven3-support/pom.xml
branches/main-maven3-support/remoting/src/main/java/hudson/remoting/UserRequest.java
branches/main-maven3-support/test/src/main/java/org/jvnet/hudson/test/HudsonTestCase.java
http://jenkins-ci.org/commit/36643
Log:
JENKINS-4988 push some stuff
to be able to get in an other place (sure git could be better )
some issue when using maven 2
some stuff to do more in maven 3 build (recording mojo execution etc...)
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenBuilder.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/launcher/Maven3Launcher.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/listeners/HudsonMavenBuildHelper.java
http://jenkins-ci.org/commit/36677
Log:
JENKINS-4988 push some stuff to work in other laptop.
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/MavenModuleSetBuild.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/launcher/Maven3Launcher.java
branches/main-maven3-support/maven3-listener/src/main/java/org/jvnet/hudson/maven3/listeners/HudsonMavenBuildHelper.java
http://jenkins-ci.org/commit/36682
Log:
JENKINS-4988 cleanup stuff which failed in previous commit.
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
http://jenkins-ci.org/commit/36695
Log:
JENKINS-4988 implements more MavenReporter call.
still work in progress ....
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
http://jenkins-ci.org/commit/36728
Log:
JENKINS-4988 reccord ExecutedMojos after each mojo execution end.
Nice to see some progress on this issue.
If you need some (early) testing of the Maven integration with Maven 3, I would be glad offer my help. In that case, tell whenever there's something worth to be tried out.
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
http://jenkins-ci.org/commit/36742
Log:
JENKINS-4988 mark maven module as finished and recording build time.
Code changed in hudson
User: : olamy
Path:
branches/main-maven3-support/maven-plugin/src/main/java/hudson/maven/Maven3Builder.java
http://jenkins-ci.org/commit/36743
Log:
JENKINS-4988 fix mark maven module as finished and recording build time. record skipped project too
Since issue type has been changed, for consistency issue name should be changed as well.
Is this issue progressing anyhow?
It will make a huge difference for a lot of people.
Some stuff has been done here : https://hudson.dev.java.net/svn/hudson/branches/main-maven3-support/
The main issue currently is maven 2 builds doesn't work anymore .
ATM I don't have time (not before 1 or 2 weeks).
I hope someone will take time to review.
Seeing if this issue is still active. Maven3 has been released for two months now. Would be interested in looking at the new work to try to test or help but the links appear to be bad.
https://svn.java.net/svn/hudson~svn/branches/main-maven3-support/ is the new path to the SVN URL that olamy posted above
I discovered, quite by accident, that the Artifactory plugin has some Maven3 support for free style builds, and thats working for me.
The stuff is available in git https://github.com/hudson/hudson in branch called main-maven3-support.
Currently there are still issues using maven 2 but works with maven 3.
If you have the patch to fix maven 2 support, I will be happy to push it
>>The stuff is available in git https://github.com/hudson/hudson in branch called main-maven3-support.
I got it and tried to build but unfortunately a build doesn't work:
It couldn't find the artifact rg.jvnet.hudson:maven-embedder:jar:3.0-SNAPSHOT
-----------------------------------------------------------------------------------------
Path to dependency:
1) org.jvnet.hudson.main:maven-plugin:hpi:1.389-SNAPSHOT
2) org.jvnet.hudson:maven-embedder:jar:3.0-SNAPSHOT
----------
1 required artifact is missing.
Sure you must build this dependency
svn co https://svn.java.net/svn/hudson~svn/trunk/hudson/lib/hudson-maven-embedder
cd hudson-maven-embedder
mvn install
Thanks, I was able to build it now.
But when I try to build a maven project using hudson I getting the following error:
ERROR: Processing failed due to a bug in the code. Please report this to hudson-users@googlegroups.com
java.lang.NullPointerException
at org.sonatype.aether.impl.internal.DefaultRemoteRepositoryManager.aggregateRepositories(DefaultRemoteRepositoryManager.java:140)
at org.apache.maven.project.ProjectModelResolver.addRepository(ProjectModelResolver.java:119)
at org.apache.maven.model.building.DefaultModelBuilder.configureResolver(DefaultModelBuilder.java:567)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:306)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:232)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:135)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:98)
git pull (and svn for embedder).
And please send/attach the full stack trace.
Here is a full stack trace (git pull and svn update was done sure):
ERROR: Processing failed due to a bug in the code. Please report this to hudson-users@googlegroups.com
java.lang.NullPointerException
at org.sonatype.aether.impl.internal.DefaultRemoteRepositoryManager.aggregateRepositories(DefaultRemoteRepositoryManager.java:135)
at org.apache.maven.project.ProjectModelResolver.addRepository(ProjectModelResolver.java:119)
at org.apache.maven.model.building.DefaultModelBuilder.configureResolver(DefaultModelBuilder.java:567)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:306)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:232)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:135)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:98)
at hudson.maven.MavenEmbedder.readProject(MavenEmbedder.java:378)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:1042)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:933)
at hudson.FilePath.act(FilePath.java:753)
at hudson.FilePath.act(FilePath.java:735)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:652)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:495)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:417)
at hudson.model.Run.run(Run.java:1337)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:377)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:140)
Thanks for reporting.
I need more info regarding the maven project you are using (what is the structure ? multi modules ? how are they organized ? )
Is it an open source so I can test with it ? (this could be more easy )
I am seeing the following:
Parsing POMs
ERROR: Processing failed due to a bug in the code. Please report this to users@hudson.dev.java.net
java.lang.NullPointerException
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:200)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:190)
at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:179)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:819)
at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:670)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:308)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:232)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:135)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:98)
at hudson.maven.MavenEmbedder.readProject(MavenEmbedder.java:378)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:971)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:876)
at hudson.FilePath.act(FilePath.java:753)
at hudson.FilePath.act(FilePath.java:735)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:597)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:440)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
at hudson.model.Run.run(Run.java:1280)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:322)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:139)
project=hudson.maven.MavenModuleSet@8f337b[acct-data]
project.getModules()=[]
project.getRootModule()=null
FATAL: null
java.lang.NullPointerException
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:200)
at org.sonatype.aether.impl.internal.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:190)
at org.apache.maven.project.ProjectModelResolver.resolveModel(ProjectModelResolver.java:179)
at org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:819)
at org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:670)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:308)
at org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:232)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:135)
at org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:98)
at hudson.maven.MavenEmbedder.readProject(MavenEmbedder.java:378)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:971)
at hudson.maven.MavenModuleSetBuild$PomParser.invoke(MavenModuleSetBuild.java:876)
at hudson.FilePath.act(FilePath.java:753)
at hudson.FilePath.act(FilePath.java:735)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.parsePoms(MavenModuleSetBuild.java:597)
at hudson.maven.MavenModuleSetBuild$RunnerImpl.doRun(MavenModuleSetBuild.java:440)
at hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:416)
at hudson.model.Run.run(Run.java:1280)
at hudson.maven.MavenModuleSetBuild.run(MavenModuleSetBuild.java:322)
at hudson.model.ResourceController.execute(ResourceController.java:88)
at hudson.model.Executor.run(Executor.java:139)
Src built from head for maven-embedder src built from head of main-maven3-support branch for Hudson.
I see this on single and multi-module projects.
multi-module is as follows:
accounting-transaction-service-parent
+-accounting-transaction-service
+-accounting-transaction-service-web
- the service module produces client and impl jars, it uses wsimport to do top-down generation of web service classes from wsdl.
- the web module produces a war.
I don't have a lot of time to devote but if you point me where/what I should be looking for I could have a quick look at the problem.
A little more info on the error I am seeing. It appears to be related to parent poms. I built a new "hello world" project as described here: http://www.sonatype.com/books/mvnex-book/reference/simple-project-sect-create-simple.html
This built fine under hudsonm3 support. When I added our parent pom it began exploding with the same issue as above. This leads me to believe there is a problem with the embedder resolving dependencies specified higher in the pom chain than the project being built. I plan to do a little more testing to verify this postulation.
so git pull and svn up.
And should be better.
I usually test with projects here :
Olamy, I just pulled the new code and. It appears to be working much better! Thanks for your work.
One last thing we are seeing is that the build whenever snapshot dependencies are built option is not working, any thoughts on this?
probably somehing else I have to check.
But currently I'm working on having builds working correctly if you use m2 or m3.
Hi Folks,
I have added some details here http://olamy.blogspot.com/2010/12/maven-3-support-in-hudson-maven-plugin.html
So all feedbacks are welcome !
PS : if everything works fine I will accept all beer parties invitations
Hi,
I've got the following exception:
java.lang.reflect.InvocationTargetException
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.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:148)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:121)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:69)
at hudson.remoting.UserRequest.perform(UserRequest.java:114)
at hudson.remoting.UserRequest.perform(UserRequest.java:48)
at hudson.remoting.Request$2.run(Request.java:270)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.NullPointerException
at org.jvnet.hudson.maven3.listeners.HudsonMavenExecutionResult.<init>(HudsonMavenExecutionResult.java:57)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:88)
... 18 more
The problem was, that site-plugin failed, because the folders weren't there where they were supposed to be (local site-deploy). So the build failure handling could be enhanced.
The goal was exactly: clean -Phudson -Dmaven.test.skip=true install site-deploy
The project was this: http://stewie.sch.bme.hu/pub/aldaris/korok/
The clean install works nicely for me with two different project, although I'm not quite sure about Hudson static analysis and task warnings plugins, because they doesn't seems to show any results in Hudson. But maybe I misconfigured something there..
ok I have to have a look when the site plugin is invoked with a maven3 build as it's very different from maven2.
@aldaris I have fixed your NPE in push 93ed8223ff7e81d5d9ca3abc8d7df594069bf1a9
Just to know does it happened when your maven build failed (test failure ) ?
I need to investigate more regarding site plugin with maven 3.
As I wrote earlier, I've ran the build with skipping tests, because this was just a dummy Hudson install. Later this evening I'll try to build this project within a correct environment (where I can actually run those tests) and I'll let you know about the results.
Ok I see the "that site-plugin failed".
So my last push should fix that.
With e90e51b91c6599dbe4df13f826301b11a6d3febe it looks like my project builds fine with this goal:
-Dmaven.test.failure.ignore=true -Phudson clean install checkstyle:checkstyle site-deploy
Thanks!
I have to correct myself. It's not working both on Windows and on Linux. The working job I've seen on Windows wasn't a real Maven job but a free-style job with a Maven build step (and that's invoked with mvn.bat).
Any updates on the issue?