[
https://issues.apache.org/jira/browse/MNG-3344?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Hervé Boutemy updated MNG-3344:
-------------------------------
Description:
As requested in MSITE-91 and its various duplicates, the input location for the
site generation should be configurable. Currently, this is realized by a
configuration parameter (siteDirectory) for the maven-site-plugin itself but I
argue that this is not sufficient/robust for all cases. The problem is that the
plugin cannot access its configuration in ancestor POMs and hence can only
guess.
For example, take the following multi-module scenario:
{noformat} project-parent/
doc/
site.xml
project-module/
src/
site/
site.xml{noformat}
Let us ignore the fact that such is layout is unusual, weird, bad-practice or
whatever you would like to call it. The point is, it should be possible. The
important aspect of the example is that both POMs will need to use a different
configuration of the maven-site-plugin to find the site descriptor (and related
files). The parent POM will have siteDirectory=doc while the module POM will
have siteDirectory=src/site.
Now consider the plugin's steps when building the site for project-module.
>From the plugin configuration in "project-module/pom.xml", it knows to search
the site descriptor for the sub project in "src/site". To apply inheritance,
the plugin then needs to locate the site descriptor of the parent project. Ups.
The plugin cannot access the corresponding plugin configuration in
"project-parent/pom.xml". So it can only assume that the parent uses the same
directory layout for the site as the current sub module.
Having a dedicated POM element for the site files, e.g.
${project.reporting.siteDirectory}, would allow the maven-site-plugin to
properly determine the location of the site descriptor of any ancestor project.
The super POM can default this element to "src/site" to get the usual behavior.
was:
As requested in MSITE-91 and its various duplicates, the input location for the
site generation should be configurable. Currently, this is realized by a
configuration parameter (siteDirectory) for the maven-site-plugin itself but I
argue that this is not sufficient/robust for all cases. The problem is that the
plugin cannot access its configuration in ancestor POMs and hence can only
guess.
For example, take the following multi-module scenario:
project-parent/
doc/
site.xml
project-module/
src/
site/
site.xml
Let us ignore the fact that such is layout is unusual, weird, bad-practice or
whatever you would like to call it. The point is, it should be possible. The
important aspect of the example is that both POMs will need to use a different
configuration of the maven-site-plugin to find the site descriptor (and related
files). The parent POM will have siteDirectory=doc while the module POM will
have siteDirectory=src/site.
Now consider the plugin's steps when building the site for project-module.
>From the plugin configuration in "project-module/pom.xml", it knows to search
the site descriptor for the sub project in "src/site". To apply inheritance,
the plugin then needs to locate the site descriptor of the parent project. Ups.
The plugin cannot access the corresponding plugin configuration in
"project-parent/pom.xml". So it can only assume that the parent uses the same
directory layout for the site as the current sub module.
Having a dedicated POM element for the site files, e.g.
${project.reporting.siteDirectory}, would allow the maven-site-plugin to
properly determine the location of the site descriptor of any ancestor project.
The super POM can default this element to "src/site" to get the usual behavior.
> Provide new POM element to configure site directory (e.g. "src/site")
> ---------------------------------------------------------------------
>
> Key: MNG-3344
> URL: https://issues.apache.org/jira/browse/MNG-3344
> Project: Maven
> Issue Type: New Feature
> Components: POM
> Affects Versions: 2.0.8
> Reporter: Benjamin Bentmann
> Priority: Major
>
> As requested in MSITE-91 and its various duplicates, the input location for
> the site generation should be configurable. Currently, this is realized by a
> configuration parameter (siteDirectory) for the maven-site-plugin itself but
> I argue that this is not sufficient/robust for all cases. The problem is that
> the plugin cannot access its configuration in ancestor POMs and hence can
> only guess.
> For example, take the following multi-module scenario:
> {noformat} project-parent/
> doc/
> site.xml
> project-module/
> src/
> site/
> site.xml{noformat}
> Let us ignore the fact that such is layout is unusual, weird, bad-practice or
> whatever you would like to call it. The point is, it should be possible. The
> important aspect of the example is that both POMs will need to use a
> different configuration of the maven-site-plugin to find the site descriptor
> (and related files). The parent POM will have siteDirectory=doc while the
> module POM will have siteDirectory=src/site.
> Now consider the plugin's steps when building the site for project-module.
> From the plugin configuration in "project-module/pom.xml", it knows to search
> the site descriptor for the sub project in "src/site". To apply inheritance,
> the plugin then needs to locate the site descriptor of the parent project.
> Ups. The plugin cannot access the corresponding plugin configuration in
> "project-parent/pom.xml". So it can only assume that the parent uses the same
> directory layout for the site as the current sub module.
> Having a dedicated POM element for the site files, e.g.
> ${project.reporting.siteDirectory}, would allow the maven-site-plugin to
> properly determine the location of the site descriptor of any ancestor
> project. The super POM can default this element to "src/site" to get the
> usual behavior.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)