v3.3 via Maven Central Stephen On 1 June 2013 01:30, Martin Gainty <mgai...@hotmail.com> wrote: > 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 >> >
--------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@maven.apache.org For additional commands, e-mail: users-h...@maven.apache.org