[ http://jira.codehaus.org/browse/MSITE-409?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=182352#action_182352 ]
Dennis Lundberg edited comment on MSITE-409 at 7/9/09 1:01 PM: --------------------------------------------------------------- So here is what I see going on. I am building a number of projects involving a multi-level parent-pom hierarchy. Here are the projects in my reactor just before I build the menu items for the Module section: [INFO] Reactor projects: base-xml : ../base-xml base-parent-pom : ../../base-parent-pom utils-core : ../../base-parent-pom/utils-core utils-cli : ../../base-parent-pom/utils-cli buildtools-parent-pom : ../../../base-parent-pom/buildtools-parent-pom buildtools-core : ../../../base-parent-pom/buildtools-parent-pom/buildtools-core maven-buildtools-plugin : ../../../base-parent-pom/buildtools-parent-pom/maven-buildtools-plugin buildtools : ../../../base-parent-pom/buildtools-parent-pom/buildtools buildtools-aggregator-project : ../../../base-parent-pom/buildtools-parent-pom/buildtools-aggregator-project NOTE: All the relative paths at this point are correct. If Doxia site tools would leave them as they are, everything would be peachy. The last project in this list is the module-pom. It just aggregates and creates APT documentation. NOTICE that ALL URLs are relative. ALL of them. This is set up by the SiteStageMojo class. In maven-doxia-tools-1.0.2, DefaultSiteTool#appendMenuItem (around line 1447), it is taking the original relative path for each project, and re-relativizing against the relative path of the buildtools-aggregator-project. That is, DefaultSiteTool is running: * getRelativePath(project, aggregatorProject) where * project might be ../../base-parent-pom/utils-cli and * aggregatorProject is ../../../base-parent-pom/buildtools-parent-pom/buildtools-aggregator-project The funny thing is, the original paths are correct. The code that puts the paths into the menus is screwing it up. So DefaultSiteTool is relativizing a relative path against a relative path, and I think that is where the problem lies. I am looking for a good solution to this problem, but I will be the first to admit that I don't understand all ramifications of code changes here. -------------------------------------------------------------------------------- UPDATE: I commented out all the references to outputRelativePath in SiteStageMojo#execute, like this. {code} project.setUrl( /*outputRelativePath +*/ "/" + structureProject ); {code} This makes all the project URLs semi-absolute. Now it all seems to work. I am not sure if this is the best fix, but what's released right now is definitely broken. was (Author: jasonsmith): So here is what I see going on. I am building a number of projects involving a multi-level parent-pom hierarchy. Here are the projects in my reactor just before I build the menu items for the Module section: [INFO] Reactor projects: base-xml : ../base-xml base-parent-pom : ../../base-parent-pom utils-core : ../../base-parent-pom/utils-core utils-cli : ../../base-parent-pom/utils-cli buildtools-parent-pom : ../../../base-parent-pom/buildtools-parent-pom buildtools-core : ../../../base-parent-pom/buildtools-parent-pom/buildtools-core maven-buildtools-plugin : ../../../base-parent-pom/buildtools-parent-pom/maven-buildtools-plugin buildtools : ../../../base-parent-pom/buildtools-parent-pom/buildtools buildtools-aggregator-project : ../../../base-parent-pom/buildtools-parent-pom/buildtools-aggregator-project NOTE: All the relative paths at this point are correct. If Doxia site tools would leave them as they are, everything would be peachy. The last project in this list is the module-pom. It just aggregates and creates APT documentation. NOTICE that ALL URLs are relative. ALL of them. This is set up by the SiteStageMojo class. In maven-doxia-tools-1.0.2, DefaultSiteTool#appendMenuItem (around line 1447), it is taking the original relative path for each project, and re-relativizing against the relative path of the buildtools-aggregator-project. That is, DefaultSiteTool is running: * getRelativePath(project, aggregatorProject) where * project might be ../../base-parent-pom/utils-cli and * aggregatorProject is ../../../base-parent-pom/buildtools-parent-pom/buildtools-aggregator-project The funny thing is, the original paths are correct. The code that puts the paths into the menus is screwing it up. So DefaultSiteTool is relativizing a relative path against a relative path, and I think that is where the problem lies. I am looking for a good solution to this problem, but I will be the first to admit that I don't understand all ramifications of code changes here. -------------------------------------------------------------------------------- UPDATE: I commented out all the references to outputRelativePath in SiteStageMojo#execute, like this. * project.setUrl( /*outputRelativePath +*/ "/" + structureProject ); This makes all the project URLs semi-absolute. Now it all seems to work. I am not sure if this is the best fix, but what's released right now is definitely broken. > Incorrect URLs in multi-module project > -------------------------------------- > > Key: MSITE-409 > URL: http://jira.codehaus.org/browse/MSITE-409 > Project: Maven 2.x Site Plugin > Issue Type: Bug > Components: multi module > Affects Versions: 2.0 > Reporter: Benson Margulies > > I have a top-level pom and some modules. One of the modules serves as a > parent for most, but not all, of the rest. > Thus, for most, the parent is ../parent, and for that the parent is the > top-level project itself. > I ran: > mvn site:stage -DstagingDirectory=/Users/benson/stage > It takes a very long time. > All of my child links came out incorrectly: e.g: > <a > href="../../Users/benson/x/trunk/greenhouse/etrog/../../../../hudson.basistech.net/home/projects/etrog">RLPJ > Buildtools</a> > There aren't distinct subdirectories in the staged dir for those of my > modules that use the parent. Actually, now that I look, I see that the ones > that parent into ../parent are subdirectories of 'parent' instead of > subdirectories of the top-level. But the links are still all wrong. -- 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