[ http://jira.codehaus.org/browse/MSITE-129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_103088 ]
Matt Read edited comment on MSITE-129 at 7/24/07 5:28 AM: ---------------------------------------------------------- I think the site should display both and we would certainly benefit from some very explicit traversable documentation of both styles of pom relationships as they both have a very significant meaning in terms of logical and physical component and package breakdown. However I don't think they should necessarily be related. After a fair amount of experimentation we use pom inheritance to manage common maven build behaviour and modules to manage common application sub-system organisation. For example, all webapps inherit from the same base pom but these webapps may appear in completely different module hierarchies. E.g. Common maven behaviour via pom inheritance: Base WAR pom |__ app1 WAR pom |__ app2 WAR pom Base EAR pom |__ app1 EAR pom |__ app2 EAR pom Common sub-systems via modules: app1 pom |__ app1 WAR |__ app1 EAR app2 pom |__ app2 WAR |__ app2 EAR Certainly the current site plugin behaviour is not particularly compatible with this and I'm looking forward to an out-of-the-box site generation that produces nicely hierarchical, cross-linked navigation for reactor builds without requiring additional manual configuration. was: I think the site should display both and we would certainly benefit from some very explicit traversable documentation of both styles of pom relationships as they both have a very significant meaning in terms of logical and physical component and package breakdown. However I don't think they should necessarily be related. After a fair amount of experimentation we use pom inheritance to manage common maven build behaviour and modules to manage common application sub-system organisation. For example, all webapps inherit from the same base pom but these webapps may appear in completely different module hierarchies. E.g. Common maven behaviour via pom inheritance: Base WAR pom |__ app1 WAR pom |__ app2 WAR pom Base EAR pom |__ app1 EAR pom |__ app2 EAR pom Common sub-systems via modules: app1 pom |__ app1 WAR |__ app1 EAR app2 pom |__ app2 WAR |__ app2 EAR Certainly the current site plugin behaviour is not particularly compatible with this and I'm looking forward to an out-of-the-box site generation that produces nicely hierarchical, cross-linked navigation for reactor builds without requiring additional manual configuration. > modules list empty if modules don't use this project as parent in reactor > build > ------------------------------------------------------------------------------- > > Key: MSITE-129 > URL: http://jira.codehaus.org/browse/MSITE-129 > Project: Maven 2.x Site Plugin > Issue Type: Bug > Affects Versions: 2.0-beta-5 > Reporter: Kenney Westerhof > Assignee: Kenney Westerhof > Priority: Minor > Fix For: 2.0-beta-7 > > > The code in the AbstractSiteRenderingMojo does the following: > - if it's running in a reactor build (i.e. more than 1 project in the reactor > projects) it scans all > projects to see if it's parent project equals the current project. If so, > it's marked as a module. > - if it's running on a single project, the project.build.modules is consulted > and those modules > are marked as modules. > I've got a 'fake' root pom, for utility purposes: it lists all projects as > modules so that I can easily > built everything and generate a site. However, this fake root pom is never > used as a parent - there's > a /pom/pom.xml project for that. > The result of this is that the modules list is empty. > A workaround is to first run 'mvn site' and then 'mvn site -N'. > I'm not sure what the correct solution should be - basically now 2 site > layouts are implemented: > - a physical layout where the modules match the <modules> section of the pom, > reflecting filesystem layout, > - a project hierarchy layout based on <parent> > and one or the other is used depending on wheter the build contains more than > 1 project or not. > My first feeling is that since the tag is called ${modules} (or <menu > ref="modules"/>) that > the site should use the <modules>, not the <parent>. > It should also take into consideration, that IF a reactor build is running, > it should only use the modules that are also > in the reactor (so you can use -r -Dmaven.reactor.excludes=.. to generate a > site with not all projects in it). > Thoughts? -- 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