Anyone, everyone please correct me if you notice any errors in what I am
about to babble about :).
To build, deploy and publish site doco I usually run the following for a
single level project:
maven site
maven site:deploy
maven site:publish
This will build the site for the single project (not multiproject), then
it will deploy the generated site to the subproject area in the staging
area. Finally it will move code from the staging area to the actual
site. Where these places are on minotaur are determined from values in
the pom and the project.properties.
In general though we use the following area on minotaur for the staging
area:
/home/akarasulu/public_html/rsynced-sites/directory
For the single level project let's look at MINA as an example ...
---------------------------------------------------------------------------------------------------------
${mina.path}/project.properties
===============================
...
maven.site.stage.directory=/home/akarasulu/public_html/rsynced-sites/directory/subprojects/network
${mina.path}/project.xml
=========================
...
<siteAddress>minotaur.apache.org</siteAddress>
<siteDirectory>
/www/directory.apache.org/subprojects/network
</siteDirectory>
...
${home.dir}/build.properties
============================
...
maven.username=akarasulu
maven.remote.group=directory
...
The stage property tells the site plugin where to stage the site to when
maven site:deploy is executed. The info in the pom for the site address
and the site directory tell the plugin where to publish the site to.
-------------------------------------------------------------------------------------------------------------
For multiproject configurations things get a bit complex. Usually the
multiproject is setup to copy the generated information from subprojects
into the top target directory. Meaning some assembly of information is
going on (hopefully). So the sequence changes to the following:
maven site
maven multiproject:site
maven site:deploy
maven site:publish
The only difference was the addition of generating site info for
subprojects. Hopefully this stuff is picked up and pushed out with the
rest of the top level site info when it is deployed. Publish will be
top down and recursive so usually a publish at the top level pushs all
the pages below it in the site with rsync.
Now for the setting in the project pom, properties etc. The same thing
is done except this info is usually at the top level rather than in
individual subprojects in the multiproject configuration.
Hope this helps people who want to build deploy and publish the site.
Cheers,
Alex