This document gives step-by-step instructions for deploying Maven components reference documentation inside the Maven http://maven.apache.org website.
See Maven website introduction for instructions on the whole website publication (main site content + components).
Components don't use CMS: components reference documentation are versioned and generated from full sources, with both handwritten content (like Maven main site) and content generated from sources (javadoc, unit-test results, integration test results...).
Reference documentation of a component is staged in http://maven.apache.org/xxx-archives/yyy-LATEST, where yyy is the component name and xxx can be:
To publish component reference documentation:
mvn -Prun-its install
mvn -Preporting site site:stage
Notice: site:stage is really necessary only for multi-modules components, but added unconditionally in these instructions to keep them as straightforward as possible.
mvn scm-publish:publish-scm
svnpubsub mechanism transfers svn production content to live production site
Notice: content is in fact published to /components/ directory, and rewrite rules in .htaccess detect files not found in main site to try /components/ content instead.
When doing a release, yyy-LATEST content staged in previous section needs:
This is done with operations on website production svn area, either with svn command:
SVNPUBSUB=https://svn.apache.org/repos/infra/websites/production/maven/components svn cp $SVNPUBSUB/xxx-archives/yyy-LATEST $SVNPUBSUB/xxx-archives/yyy-$version -m "Archive versioned site." svn rm $SVNPUBSUB/xxx/yyy -m "Remove old site." svn cp $SVNPUBSUB/xxx-archives/yyy-$version $SVNPUBSUB/xxx/yyy -m "Publish new site."
set SVNPUBSUB=https://svn.apache.org/repos/infra/websites/production/maven/components svn cp %SVNPUBSUB%/xxx-archives/yyy-LATEST %SVNPUBSUB%/xxx-archives/yyy-$version -m "Archive versioned site." svn rm %SVNPUBSUB%/xxx/yyy -m "Remove old site." svn cp %SVNPUBSUB%/xxx-archives/yyy-$version %SVNPUBSUB%/xxx/yyy -m "Publish new site."
or with svnmucc command:
svnmucc -m "Publish yyy $version documentation" \ -U https://svn.apache.org/repos/infra/websites/production/maven/components \ cp HEAD xxx-archives/yyy-LATEST xxx-archives/yyy-$version \ rm xxx/yyy \ cp HEAD xxx-archives/yyy-LATEST xxx/yyy
Some component types have an index page refering to each components of the same type. This is the case for plugins (see index), shared (see index), poms (see index) and skins (see index).
Update the version number and release date for the component in the content/apt/xxx/index.apt page.
See Deploy Maven website for more in-depth instructions on main site content editing.
Notice: if you forget about updating the index page, dist-tool has a report run daily that will gently send a failure notification on notifications@maven.a.o.