Maven 1.x Multi-Project Plugin

goal multiproject:create-nav seems to have lost pom.id

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Cannot Reproduce
  • Affects Version/s: 1.4.1
  • Fix Version/s: None
  • Component/s: None
  • Labels:
    None
  • Environment:
    maven 1.0.2 but with a couple of plugins upgraded to latest HEAD.
  • Number of attachments :
    0

Description

Today I have upgraded the checkstyle plugin to 3.0 from 2.6
This seems to have downloaded a couple of libraries and I now have a strange behaviour for multiproject.

I have also upgraded PMD to 1.8-SNAPSHOT but the following issue appeared before:

When I run "maven multiproject:site", the reactor goes through all sub-projects ok BUT when it reaches the call to <attainGoal name="multiproject:create-nav"/>, it seems to lose the pom.id and declares that I must exclude the XXXX (the top level project" (see line 140 in th eplugin.jelly).

XXXX, which is the pom.id, is replaced by the LAST project contained in the variable ${multiprojects}.

the pom.id seems to have changed between the line just BEFORE the call to multiproject:create-nav and the FIRST line inside create-nav.

If I modify the code to add some log:
<echo>POM.id before calling create-nav ${pom.id}</echo>
<attainGoal name="multiproject:create-nav"/>
...

<goal name="multiproject:create-nav"
prereqs="multiproject:site-init">

<echo>POM.id INSIDE create-nav ${pom.id} and multi ${multiprojects}</echo>
<j:forEach var="reactorProject" items="${multiprojects}">
<echo>POM.id INSIDE LOOP create-nav ${pom.id} and current ${reactorProject.id}</echo>
<j:if test="${reactorProject.id == pom.id}">
<fail message="You must exclude ${pom.id} (the top level project) from the subproject set"/>
</j:if>
</j:forEach>

The pom.id has changed between the first 2 echos. it then matches the last reactorProject.id and th ewhole process fails.

I do not understand why the pom.id is changed somewhere in multiproject:site-init...

My current workaround is to change the <fail to a simple <echo so that the process can finish (but it does not generate a proper navigation.xml)

There is obviously something wrong introduced by the latest download of a couple of plugin, I still have maven 1.0.2

Is there a way I could list all plugins and version? I would post it here...

Thanks for looking into it.

Benoit

Issue Links

Activity

Hide
Benoit Xhenseval added a comment -

Thanks to Arnaud for getting back to me.
Here is the result of maven -i

__ __

\/ __ Apache_ ___
  \/ / ` \ V / -) ' \ ~ intelligent projects ~
_   _,_ _/___ _ _ v. 1.0.2

WARNING: Plugin 'maven-qalab-plugin' is already loaded from maven-qalab-plugin-0.8.0; attempting to load maven-qalab-plugin-0.7.2

          • BEGIN: Which report
            Which.version=Which.java$Revision: 1.2 $) WhichJar.java$Revision: 1.2 $)
            java.version=1.5.0_04
            file.encoding=UTF-8
            java.ext.dirs=/opt/jdk1.5.0_04/jre/lib/ext
            java.class.path=/home/myuserId/maven-1.0.2/lib/forehead-1.0-beta-5.jar
            os.name=Linux
            java.vendor=Sun Microsystems Inc.
            sun.boot.class.path=/home/myuserId/maven-1.0.2/lib/endorsed/xerces-2.4.0.jar:/home/myuserId/maven-1.0.2/lib/endorsed/xml-apis-1.0.b2.jar:/opt/jdk1.5.0_04/jre/lib/rt.jar:/opt/jdk1.5.0_04/jre/lib/i18n.jar:/opt/jdk1.5.0_04/jre/lib/sunrsasign.jar:/opt/jdk1.5.0_04/jre/lib/jsse.jar:/opt/jdk1.5.0_04/jre/lib/jce.jar:/opt/jdk1.5.0_04/jre/lib/charsets.jar:/opt/jdk1.5.0_04/jre/classes
            java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
          • END: Which report

Installed plugins:
maven-abbot-plugin-1.1
maven-announcement-plugin-1.3
maven-ant-plugin-1.9
maven-antlr-plugin-1.2.1
maven-appserver-plugin-2.0
maven-artifact-plugin-1.5.2
maven-ashkelon-plugin-1.2
maven-aspectj-plugin-3.2
maven-aspectwerkz-plugin-1.2
maven-beandoc-plugin-0.6
maven-caller-plugin-1.1
maven-castor-plugin-1.2
maven-changelog-plugin-1.8.2
maven-changes-plugin-1.5.1
maven-checkstyle-plugin-3.0.1-SNAPSHOT
maven-clean-plugin-1.3
maven-clover-plugin-1.9.1
maven-cobertura-plugin-1.1.1
maven-console-plugin-1.1
maven-cruisecontrol-plugin-1.7
maven-dashboard-plugin-1.8
maven-developer-activity-plugin-1.5.1
maven-dist-plugin-1.6.1
maven-docbook-plugin-1.2
maven-ear-plugin-1.7
maven-eclipse-plugin-1.9
maven-ejb-plugin-1.6
maven-faq-plugin-1.4
maven-file-activity-plugin-1.5.1
maven-findbugs-plugin-1.0
maven-genapp-plugin-2.2
maven-gump-plugin-2.0.1
maven-hibernate-plugin-1.3
maven-html2xdoc-plugin-1.3.1
maven-idea-plugin-1.5
maven-j2ee-plugin-1.5.1
maven-jalopy-plugin-1.3.1
maven-jar-plugin-1.7
maven-java-plugin-1.5
maven-javacc-plugin-1.1
maven-javadoc-plugin-1.7
maven-jboss-plugin-1.5
maven-jbuilder-plugin-1.5
maven-jcoverage-plugin-1.0.9
maven-jdee-plugin-1.1
maven-jdepend-plugin-1.5
maven-jdeveloper-plugin-1.4
maven-jdiff-plugin-1.4
maven-jellydoc-plugin-1.3.1
maven-jetty-plugin-1.1
maven-jira-plugin-1.1.2
maven-jnlp-plugin-1.4.1
maven-junit-doclet-plugin-1.2
maven-junit-report-plugin-1.5
maven-jxr-plugin-1.4.2
maven-latex-plugin-1.4.1
maven-latka-plugin-1.4.1
maven-license-plugin-1.2
maven-linkcheck-plugin-1.3.4
maven-multichanges-plugin-1.1
maven-multiproject-plugin-1.4.1
maven-native-plugin-1.1
maven-nsis-plugin-1.1
maven-pdf-plugin-2.2.1
maven-plugin-plugin-1.6
maven-pmd-plugin-1.7
maven-pom-plugin-1.4.1
maven-qalab-plugin-0.7.2
maven-qalab-plugin-0.8.0
maven-rar-plugin-1.0
maven-release-plugin-1.4.1
maven-repository-plugin-1.2
maven-scm-plugin-1.4.1
maven-shell-plugin-1.1
maven-simian-plugin-1.5
maven-site-plugin-1.6.1
maven-statcvs-plugin-2.7
maven-struts-plugin-1.3
maven-tasklist-plugin-2.4
maven-test-plugin-1.6.2
maven-tjdo-plugin-1.0.0
maven-uberjar-plugin-1.2
maven-vdoclet-plugin-1.2
maven-war-plugin-1.6.1
maven-webserver-plugin-2.0
maven-wizard-plugin-1.1
maven-xdoc-plugin-1.9.2
maven-ydoc-plugin-1.0.0
Home Build properties:

{maven.jboss.deploy.dir=/home/myuserId/cc/checkout/myapp-proto/jboss, maven.cruisecontrol.home=/home/myuserId/cruisecontrol-2.2.1, maven.qalab.merge.quiet=true, repo.dir=/home/myuserId/.maven/repository, maven.cruisecontrol.mail.host=localhost, maven.jar.pmd=3.1, maven.cruisecontrol.goals=scm:update|multiproject:clean multiproject:site, maven.cruisecontrol.work.dir=/home/myuserId/cc, myapp.cvs.server=localhost, do.obfuscation=false, maven.license.licenseFile=LICENSE.TXT, maven.qalab.chart.quiet=true, maven.qalab.movers.quiet=true}
Show
Benoit Xhenseval added a comment - Thanks to Arnaud for getting back to me. Here is the result of maven -i __ __
\/ __ Apache_ ___
  \/ / ` \ V / -) ' \ ~ intelligent projects ~
_   _,_ _/___ _ _ v. 1.0.2
WARNING: Plugin 'maven-qalab-plugin' is already loaded from maven-qalab-plugin-0.8.0; attempting to load maven-qalab-plugin-0.7.2
          • BEGIN: Which report Which.version=Which.java$Revision: 1.2 $) WhichJar.java$Revision: 1.2 $) java.version=1.5.0_04 file.encoding=UTF-8 java.ext.dirs=/opt/jdk1.5.0_04/jre/lib/ext java.class.path=/home/myuserId/maven-1.0.2/lib/forehead-1.0-beta-5.jar os.name=Linux java.vendor=Sun Microsystems Inc. sun.boot.class.path=/home/myuserId/maven-1.0.2/lib/endorsed/xerces-2.4.0.jar:/home/myuserId/maven-1.0.2/lib/endorsed/xml-apis-1.0.b2.jar:/opt/jdk1.5.0_04/jre/lib/rt.jar:/opt/jdk1.5.0_04/jre/lib/i18n.jar:/opt/jdk1.5.0_04/jre/lib/sunrsasign.jar:/opt/jdk1.5.0_04/jre/lib/jsse.jar:/opt/jdk1.5.0_04/jre/lib/jce.jar:/opt/jdk1.5.0_04/jre/lib/charsets.jar:/opt/jdk1.5.0_04/jre/classes java.runtime.name=Java(TM) 2 Runtime Environment, Standard Edition
          • END: Which report
Installed plugins: maven-abbot-plugin-1.1 maven-announcement-plugin-1.3 maven-ant-plugin-1.9 maven-antlr-plugin-1.2.1 maven-appserver-plugin-2.0 maven-artifact-plugin-1.5.2 maven-ashkelon-plugin-1.2 maven-aspectj-plugin-3.2 maven-aspectwerkz-plugin-1.2 maven-beandoc-plugin-0.6 maven-caller-plugin-1.1 maven-castor-plugin-1.2 maven-changelog-plugin-1.8.2 maven-changes-plugin-1.5.1 maven-checkstyle-plugin-3.0.1-SNAPSHOT maven-clean-plugin-1.3 maven-clover-plugin-1.9.1 maven-cobertura-plugin-1.1.1 maven-console-plugin-1.1 maven-cruisecontrol-plugin-1.7 maven-dashboard-plugin-1.8 maven-developer-activity-plugin-1.5.1 maven-dist-plugin-1.6.1 maven-docbook-plugin-1.2 maven-ear-plugin-1.7 maven-eclipse-plugin-1.9 maven-ejb-plugin-1.6 maven-faq-plugin-1.4 maven-file-activity-plugin-1.5.1 maven-findbugs-plugin-1.0 maven-genapp-plugin-2.2 maven-gump-plugin-2.0.1 maven-hibernate-plugin-1.3 maven-html2xdoc-plugin-1.3.1 maven-idea-plugin-1.5 maven-j2ee-plugin-1.5.1 maven-jalopy-plugin-1.3.1 maven-jar-plugin-1.7 maven-java-plugin-1.5 maven-javacc-plugin-1.1 maven-javadoc-plugin-1.7 maven-jboss-plugin-1.5 maven-jbuilder-plugin-1.5 maven-jcoverage-plugin-1.0.9 maven-jdee-plugin-1.1 maven-jdepend-plugin-1.5 maven-jdeveloper-plugin-1.4 maven-jdiff-plugin-1.4 maven-jellydoc-plugin-1.3.1 maven-jetty-plugin-1.1 maven-jira-plugin-1.1.2 maven-jnlp-plugin-1.4.1 maven-junit-doclet-plugin-1.2 maven-junit-report-plugin-1.5 maven-jxr-plugin-1.4.2 maven-latex-plugin-1.4.1 maven-latka-plugin-1.4.1 maven-license-plugin-1.2 maven-linkcheck-plugin-1.3.4 maven-multichanges-plugin-1.1 maven-multiproject-plugin-1.4.1 maven-native-plugin-1.1 maven-nsis-plugin-1.1 maven-pdf-plugin-2.2.1 maven-plugin-plugin-1.6 maven-pmd-plugin-1.7 maven-pom-plugin-1.4.1 maven-qalab-plugin-0.7.2 maven-qalab-plugin-0.8.0 maven-rar-plugin-1.0 maven-release-plugin-1.4.1 maven-repository-plugin-1.2 maven-scm-plugin-1.4.1 maven-shell-plugin-1.1 maven-simian-plugin-1.5 maven-site-plugin-1.6.1 maven-statcvs-plugin-2.7 maven-struts-plugin-1.3 maven-tasklist-plugin-2.4 maven-test-plugin-1.6.2 maven-tjdo-plugin-1.0.0 maven-uberjar-plugin-1.2 maven-vdoclet-plugin-1.2 maven-war-plugin-1.6.1 maven-webserver-plugin-2.0 maven-wizard-plugin-1.1 maven-xdoc-plugin-1.9.2 maven-ydoc-plugin-1.0.0 Home Build properties: {maven.jboss.deploy.dir=/home/myuserId/cc/checkout/myapp-proto/jboss, maven.cruisecontrol.home=/home/myuserId/cruisecontrol-2.2.1, maven.qalab.merge.quiet=true, repo.dir=/home/myuserId/.maven/repository, maven.cruisecontrol.mail.host=localhost, maven.jar.pmd=3.1, maven.cruisecontrol.goals=scm:update|multiproject:clean multiproject:site, maven.cruisecontrol.work.dir=/home/myuserId/cc, myapp.cvs.server=localhost, do.obfuscation=false, maven.license.licenseFile=LICENSE.TXT, maven.qalab.chart.quiet=true, maven.qalab.movers.quiet=true}
Hide
Lukas Theussl added a comment -

Can you confirm that this only happens with maven.multiproject.navigation=aggregate, but not with maven.multiproject.navigation=independent ?

Show
Lukas Theussl added a comment - Can you confirm that this only happens with maven.multiproject.navigation=aggregate, but not with maven.multiproject.navigation=independent ?
Hide
Benoit Xhenseval added a comment -

Hi Lukas

It happens with both.

multiproject:create-nav:
[echo] POM.id INSIDE create-nav objectlab:gui and multi [Troy Common, Troy JBoss Ext, Troy Persist, Troy Server, Troy EJB, Troy EJB Acceptance, Troy GUI]
[echo] You must exclude objectlab:gui (the top level project) from the subproject set
[echo] Producing independent navigation...
[echo] Producing user supplied navigation...

Benoit

Show
Benoit Xhenseval added a comment - Hi Lukas It happens with both. multiproject:create-nav: [echo] POM.id INSIDE create-nav objectlab:gui and multi [Troy Common, Troy JBoss Ext, Troy Persist, Troy Server, Troy EJB, Troy EJB Acceptance, Troy GUI] [echo] You must exclude objectlab:gui (the top level project) from the subproject set [echo] Producing independent navigation... [echo] Producing user supplied navigation... Benoit
Hide
Lukas Theussl added a comment -

Any chance that you could attach a small test project? I remember having seen this issue once but I can't reproduce it anymore now.

Show
Lukas Theussl added a comment - Any chance that you could attach a small test project? I remember having seen this issue once but I can't reproduce it anymore now.
Hide
Arnaud Heritier added a comment -

I encountered it just before http://jira.codehaus.org/browse/MAVEN-1750
I think that you can reproduce it if you run multiproject:site in the plugins-site project
The last plugin fails saying "You must exclude ..."

Show
Arnaud Heritier added a comment - I encountered it just before http://jira.codehaus.org/browse/MAVEN-1750 I think that you can reproduce it if you run multiproject:site in the plugins-site project The last plugin fails saying "You must exclude ..."
Hide
Lukas Theussl added a comment -

Do you have maven.multiproject.includes set to '*/project.xml' (which is the default)?
What happens if you set it explicitly to a comma-separated list of projects to include?

I still cannot get a reproducible test case even though I remember having seen the issue in the past.

Show
Lukas Theussl added a comment - Do you have maven.multiproject.includes set to '*/project.xml' (which is the default)? What happens if you set it explicitly to a comma-separated list of projects to include? I still cannot get a reproducible test case even though I remember having seen the issue in the past.
Hide
Lukas Theussl added a comment -

Closing as I still can't reproduce it and there is no user feedback anymore. Please re-open with a reproducible test case if you still have troubles.

Show
Lukas Theussl added a comment - Closing as I still can't reproduce it and there is no user feedback anymore. Please re-open with a reproducible test case if you still have troubles.
Hide
Rupert Smith added a comment -

Please re-open this issue. The problem seems to be caused by using a the newer checkstyle plugin. Before I upgraded my checkstyle plugin it worked fine, now with checkstyle plugin version 3.0.1 I get this error.

As a workaround, I am able to make the problem go away by not generating the checkstyle report.

Rupert

Show
Rupert Smith added a comment - Please re-open this issue. The problem seems to be caused by using a the newer checkstyle plugin. Before I upgraded my checkstyle plugin it worked fine, now with checkstyle plugin version 3.0.1 I get this error. As a workaround, I am able to make the problem go away by not generating the checkstyle report. Rupert
Hide
Lukas Theussl added a comment -

As I said above, please attach a test case and reopen the issue, if you can't reopen it, create a new one.
I have spent quite some time on this issue and couldn't reproduce it anymore.
Don't forget to specify your environment settings as well. Thanks!

Show
Lukas Theussl added a comment - As I said above, please attach a test case and reopen the issue, if you can't reopen it, create a new one. I have spent quite some time on this issue and couldn't reproduce it anymore. Don't forget to specify your environment settings as well. Thanks!

People

Vote (0)
Watch (0)

Dates

  • Created:
    Updated:
    Resolved: