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
MPMULTIPROJECT-64was closed due to not being reproducable.I am attaching a test.zip file containing a sample project to reproduce it. There are two sub-projects in this test.zip, dummy and mavenbuild. The mavenbuild project is the master POM and dummy is a trivial project with just one java class in it. Run multiproject:site form the mavenbuild directory to reproduce the bug. Note that the maven-checkstyle-plugin-3.0.1.jar supplied in the root of the test.zip file must be installed too.
To see it working without the bug, comment out the checkstyle report entry from the project.xml in the mavenbuild directory.
Hope this helps.
P.S. I looked into the checkstyle plugin.jelly but I can't see where that would change pom.id?