[ http://jira.codehaus.org/browse/MSITE-426?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lukas Theussl closed MSITE-426. ------------------------------- Resolution: Cannot Reproduce Fix Version/s: (was: 2.3) Assignee: Lukas Theussl > Site-structure and links messed up when using inheritance and sub-sub-modules > ----------------------------------------------------------------------------- > > Key: MSITE-426 > URL: http://jira.codehaus.org/browse/MSITE-426 > Project: Maven 2.x and 3.x Site Plugin > Issue Type: Bug > Components: inheritance > Environment: WindowsXP, Solaris 2.8, SLES10, Maven 2.2.0, JDK 1.6 > Reporter: Michael Wenig > Assignee: Lukas Theussl > Attachments: 1.zip, 2.zip, 3.zip, demo1.zip, demo2.zip, demo3.zip > > > We have a structure like this: > pom.xml (A) (inherits from a companies-pom and acts primary as a generated > multi-module-pom which should not be in need to be changed by developers) > + ModuleContainer > + pom.xml (B) > + Module1 (which inherits from upper-pom) > + pom.xml (C) > + Module2 (which inherits from ProjectSuperPom) > + pom.xml (D) > + Module3 > + pom.xml (E) > pom A is intended to get generated and not changed by project team (includes > the basic settings for issue management and so on). It is a multimodule and > includes exactly one module (ModuleContainer) > pom B is primarly intended to define the modules of the project and is > intended to be changed by the project team. It could also act as a SuperPom > of the project or delegate this to a separate module > pom C, D, and E are 'normal' modules which use as parent the > ModuleContainer-Pom, a separate SuperPom or the pom A > I made several tests, changed the inheritance, module definitions but did > never achieved a site which was working (after deploying the site!). > I achieved that the sites are stored in a sensable structure but needed to > add a distributionManagement to each pom which is error-prone. > But I did not achieve that the links are ok - the are everytime extrapolated > in some strange way. The should be read out of the pom > (or parent-pom and calculated the normal maven-way) of the module and perhaps > extrapolated when there ist none (but then a configurable pattern > would be better). > I attached three samples together with the created sites (windows, JDK 1.6, > Maven 2.2.0). > demo1: > The physical structure does not make sense in this case as the > inheritance-parent-poms name AND the module artifact name is used as a suffix > for the directory > and has no benefit there > demo2: > I added a distributionManagement and url to all poms > now the physical structure is ok > The following problems: > The rootPoms-site contains two links (which are syntactically correct and > working): > - to modules (ok) > - to projectPom > I either expect only a link to modules (as this is the only direct module of > rootPom) or a link > to all modules including the submodules of rootPom. It seems that the module > list is build up out of the modules and the direct inherited projects > (as rootPom is the parent-pom of projectPom) - this makes IMHO no sense! > Neither the site of the modules nor of projectPom contains any links to the > other modules. > I would expect a list of projectPom, module1, module2 > demo3: > I removed the double-multimodule and included all modules in the RootPom but > keeping the extra projectPom > Problems: > - Only The projectPom is linked from RootPom > - the structure of the different sites is different: > demo3\Module1\0.0.1-SNAPSHOT (ok) > demo3\projectPom\0.0.1-SNAPSHOT (ok) > demo3\RootPom\0.0.1-SNAPSHOT (ok) > demo3\Module2\0.0.1-SNAPSHOT\Module2 (becaus of missing > distributionManagement which makes no sense) > The physical structure should be that of demo2 even if the > distributionManagement is missing in the sub-poms (it is error-prone to have > it in every one). > There should be a configuration-switch to deactivate ANY magic in building > the structure and use a pattern instead. > e.G. in a companies-pom which is a superpom of all projects and modules > (direct or indirect): > <url>file:///tmp/mvn-sites/${groupId}/${artifactId}/${version}</url> > <distributionManagement> > <site> > <id>mysites</id> > > <url>file:///tmp/mvn-sites/${groupId}/${artifactId}/${version}</url> > <name>nada</name> > <strict>true</strict> <!-- deactivates the auto-suffix > and always use this one --> > <hierarchically>true</hierarchically> <!-- leads to > com/mycompany/demo instead of com.mycompany.demo --> > </site> > </distributionManagement> > and no need for any distributionManagement or url in the other poms. > Therefore the pom of the module has to be analyzed if there is a url coming > out. > If not the 'old way' could be used > and for every link the RESULTING url of the destination should be used. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira