Phil created MJAVADOC-648:
-----------------------------

             Summary: Aggregate apidocs not built for a flat maven multi-module 
project 
                 Key: MJAVADOC-648
                 URL: https://issues.apache.org/jira/browse/MJAVADOC-648
             Project: Maven Javadoc Plugin
          Issue Type: Bug
          Components: javadoc
    Affects Versions: 3.2.0, 3.1.1, 3.1.0
            Reporter: Phil


When using a flat multi-module maven project e.g.

parent
 +-- pom.xml (parent and reactor)
 module-1
 +-- pom.xml
 module-...
 +-- pom.xml

The aggregate apidocs e.g. mvn javadoc:aggregate, are not built for the parent 
project. This is because the AbstractJavadocMojo#getAggregatedProjects() does 
not return any sub projects for the parent.

More specifically, #modulesForAggregatedProject(..) compares the module path 
from the POM with the module path from the reactor, and these can be different 
if the Paths are not normalised e.g.

in the parent pom.xml
{code:java}
<modules>
  <module>../module-1</module>
</modules>
{code}
this becomes the module Path
{code:java}
 Path p = new File(aggregatedProject.getBasedir(), module).toPath();{code}
{code:java}
/home/java/project/parent/../module-1
{code}
which is not Java equal() to the reactor path for that module of:
{code:java}
/home/java/project/module-1
{code}
Even though they should be same. Hence the set of modules for the aggregated 
project is empty.

I downloaded the source and rebuilt the plugin normalising the module Path e.g.
{code:java}
Path p = new File(aggregatedProject.getBasedir(), module ).toPath();
modulePaths.add(p.normalize());
{code}

This works for my project, but potentially this is not a proper/robust fix for 
this issue. This all used to worked fine in 3.0.1 of the plugin - although I 
see a decent change in the codebase around this from 3.0.1 to 3.1.0. 

Is this a bug? or is it actually meant to work like this? which would be an 
issue for the project I am working on going forward.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to