[
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