blob: 53ff24ca883783502ec1994690c9ba2339f47442 [file] [log] [blame]
How to build and publish the website:
1. Install Apache Maven 2.0.6+ and make its binary 'mvn' available on your PATH.
2. run "mvn -U -Plocal,parent clean install site:stage -DstagingDirectory={path}".
- the -U will force mvn to update plugins (check new installed skin when building
the project site.
- the -Plocal will force mvn to not lookup remote maven repositories for standard
dependencies.
- the -Pparent will add the local "stage" repository to the build (this is needed
so that the site generation for the parent folder will find the default maven
skin (this is only a workaround: the default skin is not used).
- install is needed because the site generated in the project module will search
for an installed skin.
3. Test the built site in your browser from the {path} folder
4. If everything looks OK, copy the {path} folder to the checkout of james/site/trunk/www
folder.
5. If you are on windows make sure endlines are LF only
hint: running "ant" from james/site/trunk/ will do this (this will take a lot).
6. Commit changes to SVN
7. Review generated pages on svn.apache.org/repos/asf/james/site/trunk/www
8. svn-up on minotaur
9. Wait for the changes to replicate to the Apache web server or setup 140.211.11.10:80 as
a proxy to review the changes (described here: http://www.apache.org/dev/project-site.html)
The logical tree of the poms is the following
james-parent (parent/pom.xml) is the main parent.
|- maven-skin (maven-skin/pom.xml) is our skin
'- james-project (pom.xml)
'- james-server-root (server/pom.xml) is the parent pom for JAMES server.
'- james-server-2.2.0 (server/2.2.0/pom.xml) is the static website for old 2.2.0 documentation.
The "james-parent" artifact is needed because "james-project" uses the maven-skin but they needed
to share some common data so they cannot depend on each-other but on a third "parent" pom.