[ https://jira.codehaus.org/browse/MSITE-669?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=315861#comment-315861 ]
Lennart Jörelid edited comment on MSITE-669 at 12/17/12 10:43 PM: ------------------------------------------------------------------ I attached two images to clarify # The reactor build structure (module definitions). This is how I want the navigation within the site:stage to work (and - up until recently - believed it should work). #* Illustrated by image _nazgul_tools_reactor_structure_ #* White pom-type reactor projects only define modules and sites, thereby glueing together the build reactor. Such projects do not produce anything worth deploying - other than potential documentation which should be part of the {{site:stage}}. #* Yellow jar/bundle-type projects define a single deployable artifact, as well as documentation in the form of a maven site. These project artifacts would be deployed to a repo in a normal manner as well as part of a compound/staged site. # The project dependencies including inclusions. #* Illustrated by image _nazgul_tools_project_dependencies_. [Please remove the earlier/incorrect of the two versions, as I cannot due to lacking privileges]. #* The reactor structure briefly explained (to alleviate any confusion): #*# The codestyle project contains rules for checkstyle, enforcer, PMD etc. This is essentially the implementation of the developer guidelines. #*# The tools-parent project defines the build reactor, including dependency management settings. The plugins use configuration/rules from the codestyle project, implying that the tools-parent project include codestyle as a dependency. Therefore, tools-parent is built after codestyle. #*# The validation-api defines the API of a globally available aspect. It defines the tools-parent as parent project, to use the build cycle/codestyle rules defined within tools-parent. #*# The validation-aspect defines the globally available aspect implementation, depending on the validation-api and using the tools-parent as parent project (to use the build cycle/codestyle rules defined within tools-parent). #*# The parent project configures AspectJ to use the aspect implementation from validation-aspect. This makes the validation-aspect globally available to all projects using the parent project as ... well ... parent. Comments: # It seems too invasive to require parent poms (tools-parent, parent) to define modules just to acquire a staged site with working navigation. These projects *should* be leaves, because they may be used as parents by poms outside of the nazgul_tools reactor. # It is practical to make all of the projects illustrated above be part of a single reactor, since they are released as a unit - and should be documented as a unit. I suggest that the {{site:stage}} should support this scenario. # The structure I would expect from the {{site:stage}} command for the nazgul_tools reactor, which would match the reactor closely. (In terms of links/navigation). was (Author: l...@jguru.se): I attached two images to clarify # The reactor build structure (module definitions). This is how I want the navigation within the site:stage to work (and - up until recently - believed it should work). #* Illustrated by image _nazgul_tools_reactor_structure_ #* White pom-type reactor projects only define modules and sites, thereby glueing together the build reactor. Such projects do not produce anything worth deploying - other than potential documentation which should be part of the {{site:stage}}. #* Yellow jar/bundle-type projects define a single deployable artifact, as well as documentation in the form of a maven site. These project artifacts would be deployed to a repo in a normal manner as well as part of a compound/staged site. # The project dependencies including inclusions. #* Illustrated by image _nazgul_tools_project_dependencies_. [Please remove the earlier/incorrect of the two versions]. #* The reactor structure briefly explained (to alleviate any confusion): #*# The codestyle project contains rules for checkstyle, enforcer, PMD etc. This is essentially the implementation of the developer guidelines. #*# The tools-parent project defines the build reactor, including dependency management settings. The plugins use configuration/rules from the codestyle project, implying that the tools-parent project include codestyle as a dependency. Therefore, tools-parent is built after codestyle. #*# The validation-api defines the API of a globally available aspect. It defines the tools-parent as parent project, to use the build cycle/codestyle rules defined within tools-parent. #*# The validation-aspect defines the globally available aspect implementation, depending on the validation-api and using the tools-parent as parent project (to use the build cycle/codestyle rules defined within tools-parent). #*# The parent project configures AspectJ to use the aspect implementation from validation-aspect. This makes the validation-aspect globally available to all projects using the parent project as ... well ... parent. Comments: # It seems too invasive to require parent poms (tools-parent, parent) to define modules just to acquire a staged site with working navigation. These projects *should* be leaves, because they may be used as parents by poms outside of the nazgul_tools reactor. # It is practical to make all of the projects illustrated above be part of a single reactor, since they are released as a unit - and should be documented as a unit. I suggest that the {{site:stage}} should support this scenario. # The structure I would expect from the {{site:stage}} command for the nazgul_tools reactor, which would match the reactor closely. (In terms of links/navigation). > 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