[ https://issues.jenkins-ci.org/browse/JENKINS-2295?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=158583#comment-158583 ]
kutzi commented on JENKINS-2295: -------------------------------- I agree with Kohsuke's comment from 13/Jul/09: we should give up to determine the modules in a separate step (i.e. the PomParser) and instead only rely on the Maven execution itself (i.e. the reactor) to provide us with info about the building project and its modules. This would have the additional benefit of speeding up the whole build as the separate POM parsing step wouldn't be needed anymore (not sure about this last part) > Jenkins cannot handle modules added by profiles - if profile is not activated > via '-P' (was: Assertion in MavenModuleSetBuild for aggregator POM with > modules provided by profile) > ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- > > Key: JENKINS-2295 > URL: https://issues.jenkins-ci.org/browse/JENKINS-2295 > Project: Jenkins > Issue Type: Bug > Components: maven2 > Affects Versions: current > Environment: Platform: All, OS: All > Reporter: tjuerge > Attachments: testcase-build.log, testcase.tgz > > > The root POM of one of our Maven2 projects aggregates sub-modules which are > defined in a set of profiles. So within this POM there's no <modules> defined > outside of a profile. > Building this project from the commandline via "mvn -P<profile1>,<profileN> > clean install" is working like a charme. But using the same commandline from > within a Hudson (build 2.251) Maven2 job the following exception occurs after > installing the root POM and starting to clean the first of the aggregated > sub-modules: > [INFO] > ------------------------------------------------------------------------ > [ERROR] FATAL ERROR > [INFO] > ------------------------------------------------------------------------ > [INFO] reporters.get(com.acme.vk.backend:base)==null. > reporters={com.acme.vk:base=[hudson.maven.reporters.MavenMailer@260657, > hudson.maven.reporters.MavenArtifactArchiver@16339b2, > hudson.maven.reporters.MavenFingerprinter@c2ea0b, > hudson.maven.reporters.MavenJavadocArchiver@6a4209, > hudson.maven.reporters.MavenSiteArchiver@1575b4, > hudson.maven.reporters.SurefireArchiver@e284ab, > hudson.maven.reporters.BuildInfoRecorder@1743073]} > proxies={com.acme.vk:base=hudson.maven.MavenModuleSetBuild$Builder$FilterImpl@118e241} > [INFO] > ------------------------------------------------------------------------ > [INFO] Trace > java.lang.AssertionError: reporters.get(com.acme.vk.backend:base)==null. > reporters={com.acme.vk:base=[hudson.maven.reporters.MavenMailer@260657, > hudson.maven.reporters.MavenArtifactArchiver@16339b2, > hudson.maven.reporters.MavenFingerprinter@c2ea0b, > hudson.maven.reporters.MavenJavadocArchiver@6a4209, > hudson.maven.reporters.MavenSiteArchiver@1575b4, > hudson.maven.reporters.SurefireArchiver@e284ab, > hudson.maven.reporters.BuildInfoRecorder@1743073]} > proxies={com.acme.vk:base=hudson.maven.MavenModuleSetBuild$Builder$FilterImpl@118e241} > at > hudson.maven.MavenModuleSetBuild$Builder.postModule(MavenModuleSetBuild.java:573) > at > hudson.maven.MavenBuilder$Adapter.fireLeaveModule(MavenBuilder.java:284) > at hudson.maven.MavenBuilder$Adapter.postBuild(MavenBuilder.java:242) > at > org.apache.maven.lifecycle.LifecycleExecutorInterceptor.execute(LifecycleExecutorInterceptor.java:45) > 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(DelegatingMethodAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) > at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) > at hudson.maven.agent.Main.launch(Main.java:133) > at hudson.maven.MavenBuilder.call(MavenBuilder.java:139) > at > hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:543) > at > hudson.maven.MavenModuleSetBuild$Builder.call(MavenModuleSetBuild.java:489) > at hudson.remoting.UserRequest.perform(UserRequest.java:69) > at hudson.remoting.UserRequest.perform(UserRequest.java:23) > at hudson.remoting.Request$2.run(Request.java:213) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:417) > at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:269) > at java.util.concurrent.FutureTask.run(FutureTask.java:123) > at > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675) > at java.lang.Thread.run(Thread.java:595) > Copying the <modules> block from one of the profiles directly into the root > POM > "fixes" this issue. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jenkins-ci.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira