Hi,

I've done a similar job for a previous project (an eclipse application with lot 
of module (one per eclipse's plugin)) 8 months ago.
If you want I could help you.
FYI, the javadoc plugin have a usefull feature : create a "flatten" javadoc for 
multi-module project, that avoid to bookmark every module's javadoc.
I also thinks that generate htmlized java files is usefull and easier (color, links) than SVN to browse the source and the test to understand how it works without the need to download the source, create a project in our IDE,...

/david

Gerolf Seitz wrote:
martijn and i had a conversation in ##wicket about the site that could be
generated via "mvn site" (if it actually worked).
i attached the irc protocol to the end of this message.

after doing some research i came to the following conclusions:

1) there is no way to flatten the module hierarchy, so that the modules
jdk-1.x
won't be included in the site generation. even when the jdk-1.x modules are
omitted
in a separate profile, the modules won't show up as child modules of the
parent module.

2) when using the commands "mvn site" and "mvn deploy",
the generated structure is kinda weird, e.g.:
/wicket-extensions/wicket-jdk14/wicket-extensions/index.html
and even after deploying the whole project the links to other modules
somehow didn't really work.

i was lucky to find a solution for both issues, although i'm not too happy
about these either:

1) inspired by this article [0], which talks about in-memory POM
modification,
i wrote a small maven plugin (maven-flattire-plugin) that flattens the
hierarchy on-the-fly so that all
modules are direct children of the parent module (except the parent module
itself).
however, a concern with the maven-plugin might be, that it's not available
on public maven repositories,
so it takes an extra step to mvn install it first.
i don't know how easy or how hard it is to get software published on maven
repos, so that may not be a concern at all.

2) maven-site-plugin provides a goal (site:stage) for "testing the final
result" (although site and site:stage
didn't have any similarities structure wise during my tests).
by executing "mvn site:stage -DstagingDirectory=/tmp/wicket" the site is
created in that location.
unfortunately the urls

in order to use the flattire maven plugin, i created a profile "site" in the
parent-pom which includes all modules except jdk-1.x
and automatically binds flattire to a phase in the lifecycle. needless to
say that only site:site provides the phases pre-/post-site.
so i bound flattire to the clean phase, which leads to the final commandline
for creating the site:

mvn clean site:stage -Psite -DstagingDirectory=/targetDirectory


any thoughts, comments, ... ?

gerolf



[0]
http://www.eclipse.org/articles/article.php?file=Article-Eclipse-and-Maven2/index.html

##wicket protocol, Saturday 2007-09-08, started 22:03
gerolf        dashorst: do we want to use mvn site to generate the wicket
website?
dashorst    not the main site
dashorst    but we do want to use the provided maven skin
dashorst    in wicket/common/wicket-site-skin
gerolf        yeah
dashorst    what I want it to do is
dashorst    generate the standard maven stuff, with just a small
index.aptdescribing the project
dashorst    without the unit test reports
dashorst    but with the javadoc
dashorst    something like:
dashorst    index.html
dashorst    javadoc
dashorst    dependencies
gerolf        dpendencies probably too
dashorst    license
dashorst    svn repo
dashorst    jira
dashorst    but that is about it
gerolf        what about modules?
dashorst    the idea is to make it one big website
dashorst    with each module a sub directory of the parent
dashorst    or just all modules as children of the parent (flattened
out)
dashorst    so we get:
dashorst    http://wicket.apache.org/wicket-1.3/wicket
dashorst     http://wicket.apache.org/wicket-1.3/wicket-extensions
dashorst    http://wicket.apache.org/wicket-1.3/wicket-ioc
dashorst     http://wicket.apache.org/wicket-1.3/wicket-spring
dashorst    http://wicket.apache.org/wicket-1.3/wicket-guice
gerolf        so i guess jdk-1.4 /5 should be omitted?
dashorst    and a http://wicket.apache.org/wicket-1.3/index.html
dashorst    yeah
dashorst    it would be nice to have that site included in the release
zip
dashorst    in a directory docs/

Reply via email to