[ https://jira.codehaus.org/browse/MSITE-669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315858#comment-315858 ]
Lennart Jörelid edited comment on MSITE-669 at 12/18/12 12:52 AM: ------------------------------------------------------------------ I don't understand why a project which has a defined siteURL, located below the rootURL (defined as the distributionManagement URL element of the topmost project in the reactor) would need to consult its parent settings to define its *staging directory*. If I understand you correctly, the rootURL for {{site:stage}} is simply given by the distributionManagement/site/url element in the pom where the {{mvn site:stage}} was launched. Your statement, does however imply that the 3 rules for {{site:stage}} work defined above do not fully describe the assumptions used by the maven-site-plugin and its {{site:stage}} goal, but that we seem to have two additional requirements: # The {{site:stage}} goal assumes that all projects within the reactor use the same parent. # The parent project for all subprojects within a multimodule site:stage run must be the reactor root (i.e. the project from where {{mvn site:stage}} was run). These assumptions feel rather constraining, to be honest. My [obviously incorrect] conceptual model is/was that the parent project would only be consulted to: # Inherit/merge pom settings. (If no parent is defined, simply use what is defined within the project itself.) # Inherit/merge site.xml settings (If no parent is defined, simply use what is defined within the subproject itself.) # Read the distributionManagement URL setting within the parent pom in order to create the link for <menu ref="parent" /> I would suggest that we describe these current requirements/assumptions within the documentation for {{site:stage}}, and implement a change to make {{site:stage}} yield a navigation structure matching the reactor's. In the case of the nazgul_tools reactor, its build order structure is illustrated in an attached image. was (Author: l...@jguru.se): I don't understand why a project which has a defined siteURL, located below the rootURL (defined as the distributionManagement URL element of the topmost project in the reactor) would need to consult its parent settings to define its *staging directory*. That implies the 3 rules for {{site:stage}} work defined above do not fully describe the assumptions used by the maven-site-plugin and its {{site:stage}} goal, but that we seem to have two additional requirements: # The {{site:stage}} goal assumes that all projects within the reactor use the same parent. # The parent project of a site:stage run must be the reactor root. These assumptions feel rather constraining, to be honest. My [obviously incorrect] conceptual model is/was that the parent project would only be consulted to: # Inherit/merge pom settings. (If no parent is defined, simply use what is defined within the project itself.) # Inherit/merge site.xml settings (If no parent is defined, simply use what is defined within the subproject itself.) # Read the distributionManagement URL setting within the parent pom in order to create the link for <menu ref="parent" /> I would suggest that we describe these current requirements/assumptions within the documentation for {{site:stage}}, and implement a change to make {{site:stage}} yield a navigation structure matching the reactor's. In the case of the nazgul_tools reactor, its build order structure is illustrated in an attached image. > site:stage creates incorrect structure when module paths contains sets of > "../" > ------------------------------------------------------------------------------- > > Key: MSITE-669 > URL: https://jira.codehaus.org/browse/MSITE-669 > Project: Maven 2.x and 3.x Site Plugin > Issue Type: Bug > Components: multi module, relative links, site:stage(-deploy) > Affects Versions: 3.1, 3.2 > Reporter: Lennart Jörelid > Assignee: Lukas Theussl > Attachments: nazgul_tools_project_dependencies.png, > nazgul_tools_project_dependencies.png, nazgul_tools_reactor_structure.png, > sample.zip > > > Given the module definitions given below, the site:stage goal produces sets > of maps relative to the staging directory - i.e. outside of the target > directory. > {code:xml} > <modules> > <module>../../validation/validation-api</module> > <module>../../validation/validation-aspect</module> > <module>../parent</module> > </modules> > {code} > The staged site should be fully included within the staging directory. It > would appear that relativization of links for site:stage should take special > links into consideration. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira