Stephen which version of site-plugin are you testing? where did you acquire the site plugin?
Martin -------------------- > From: scolebou...@joda.org > Date: Fri, 31 May 2013 20:17:09 +0100 > Subject: Site plugin woes > To: users@maven.apache.org > > It seems that the site plugin has lots of issues. > > I have a setup as follows: > root/pom.xml (aggregator extends parent) > root/projects/parent/pom.xml (parent) > root/projects/child/pom.xml (real code) > > AFAIK, this is a pretty standard way to setup maven, apart from the > extra "projects" folder. > > My parent has this config: > <distributionManagement> > <site> > <id>og-developer-site</id> > <url>http://foo.com/maven/site/${project.artifactId}/</url> > </site> > </distributionManagement> > > The aggregator has this config: > <distributionManagement> > <site> > <id>og-developer-site</id> > <url>http://foo.com/maven/site/</url> > </site> > </distributionManagement> > > The end result of runing "mvn site site:stage" in the aggregator/root > folder is many errors. > > Firstly, it takes forever. It needlessly runs the > validate/generate-sources phases of each subproject many, many times. > > Seondly, the output is calculating that the parent pom is the root of > the output, not the aggregator pom. This messes up the generation. > > Thirdly, the aggregator generates these sections in the index.html: > > <h5>Modules</h5> > <ul> > <li class="none"> > <a href="og-parent/index.html" title="OG-Parent">OG-Parent</a> > </li> > <li class="none"> > <a href="og-analytics/og-analytics/index.html" > title="OG-Analytics">OG-Analytics</a> > > While later on it creates: > > <tr class="b"> > <td><a href="../index.html">OG-Parent</a></td> > <td>OpenGamma maven parent project</td></tr> > <tr class="a"> > <td><a href="..\og-analytics/index.html">OG-Analytics</a></td> > <td>OpenGamma platform analytics</td></tr> > > Two DIFFERENT url relativizations in the same file! > The first is clearly wrong with a doubled up entry. But the second is no > better. > > Finally, the site:stage manages to copy all the files one level higher > than they should be: > > [INFO] > ------------------------------------------------------------------------ > [INFO] Building OG-Parent 2.0.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [INFO] > [INFO] --- maven-site-plugin:3.3:stage (default-cli) @ og-parent --- > [INFO] Using this base directory for staging: > C:\dev\og\maven\OG-Platform\target > \staging > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Opened > [INFO] Pushing C:\dev\og\maven\OG-Platform\projects\OG-Parent\target\site > [INFO] >>> to file://C:\dev\og\maven\OG-Platform\target\staging/./ > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Disconnecting > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Disconnected > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] Building OG-Analytics 2.0.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [INFO] > [INFO] --- maven-site-plugin:3.3:stage (default-cli) @ og-analytics --- > [INFO] Using this base directory for staging: > C:\dev\og\maven\OG-Platform\target > \staging > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Opened > [INFO] Pushing C:\dev\og\maven\OG-Platform\projects\OG-Analytics\target\site > [INFO] >>> to > file://C:\dev\og\maven\OG-Platform\target\staging/../og-analyti > cs/og-analytics > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Disconnecting > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Disconnected > [INFO] > [INFO] > [INFO] > ------------------------------------------------------------------------ > [INFO] Building OG-Platform 2.0.0-SNAPSHOT > [INFO] > ------------------------------------------------------------------------ > [INFO] > [INFO] --- maven-site-plugin:3.3:stage (default-cli) @ og-platform --- > [INFO] Using this base directory for staging: > C:\dev\og\maven\OG-Platform\target > \staging > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Opened > [INFO] Pushing C:\dev\og\maven\OG-Platform\target\site > [INFO] >>> to file://C:\dev\og\maven\OG-Platform\target\staging/.. > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Disconnecting > file://C:\dev\og\maven\OG-Platform\target\staging/ - Session: Disconnected > > If you look, you'll see that the site:stage copied all the files > ALONGSIDE the staging directory, rather than within it! (With the > exception of the aggregator project, which this time the plugin > decided to put in the right place). > > At the very least, the plugin should have a sanity check to prevent > copying stuff outside the staging directory... > > > I'd also note that the documentation across different plugins sites > (javadoc/checkstyle/pmd/jxr/maven3upgradeNotes) is very unclear as to > what the recommended way to declare config for reports is. Does > everything go in build/plugins or pluginManagement or reporting? What > overrides what? Do I have to duplicate everything? How does it > actually work wrt multi-module builds? > > Or more bluntly - why is the guesswork the only solution to setting up > maven? Is it to drive consultancy? > > The site plugin is one of maven's oldest. I expected clear > documentation and it to "just work". Neither is true. > Stephen > > PS. I didn't mention the NPE caused by simply configuring the javadoc > plugin with links. > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-javadoc-plugin</artifactId> > <version>2.9</version> > <configuration> > <links> > <link href="http://dist.fudgemsg.org/java/javadoc/0.3/" /> > <link href="http://threeten.github.io/threetenbp/apidocs/" /> > <link href="http://joda-beans.sourceforge.net/apidocs/" /> > <link href="http://joda-convert.sourceforge.net/apidocs/" /> > <link > href="http://docs.guava-libraries.googlecode.com/git-history/release/javadoc/" > /> > </links> > </configuration> > </plugin> > With the links it gets NPE in MXSerializer writing javadoc options. > Without the config it succeeds. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@maven.apache.org > For additional commands, e-mail: users-h...@maven.apache.org >