Introduction
The Maven https://maven.apache.org website is composed from:
- a main content,
- multiple components reference documentation, published for each component release.
And Doxia website has the same dual structure.
These contents are stored in svn, and svnpubsub/svnwcsub maintains a working copy on the webservers in /www/maven.apache.org/content
(see svnwcsub
configured in infra Puppet):
/
comes from https://svn.apache.org/repos/asf/maven/website/content//components
comes from https://svn.apache.org/repos/asf/maven/website/components//doxia
comes from https://svn.apache.org/repos/asf/maven/doxia/website/content//doxia/components
comes from https://svn.apache.org/repos/asf/maven/doxia/website/components/
and the link between main content and components reference documentation (for example from /plugins/maven-xxx-plugin
to internal /components/plugins/maven-xxx-plugin
) is done with symbolic links. These links are configured in components.links
files in content/resources/
and subdirectories, for example plugins/components.links.
How website publication works
Instructions on how to publish website content are split in separate documents:
- on every main content source commit (maven-site.git and maven-doxia-site.git), main content rebuild and publish is triggered through Jenkins jobs ( maven-site job and doxia-site job), which basically run
mvn site-deploy
(it can be run locally if CI is off...), - on every Maven component release, release manager follows "deploying Maven components reference documentation", eventually using Component Reference Documentation Helper to easily prepare
svnmucc
command line.