blob: b5438ad26135dff5a34dbdda8d97ad74de98b21b [file] [log] [blame]
------
Archiva Sites Publishing
------
Publishing the Archiva Site
The Archiva site, documentation and reference documentation are now
published to <<<http://archiva.apache.org/>>> using the
{{{http://www.apache.org/dev/project-site.html#svnpubsub} ASF's svnpubsub}}
service.
The files published to the site are all stored under the Subversion
repository at {{http://svn.apache.org/repos/asf/archiva/site-content/}}.
This mostly operates like a normal site deployment, though there are some
specific customisations and special instructions for the reference library.
The processes follow those described for the
{{{http://maven.apache.org/plugins/maven-scm-publish-plugin/}Maven SCM Publish Plugin}}
for
{{{http://maven.apache.org/plugins/maven-scm-publish-plugin/examples/one-module-configuration.html}
Single module projects}} and
{{{http://maven.apache.org/plugins/maven-scm-publish-plugin/examples/multi-module-configuration.html}
Multi-module projects}} as applicable.
Each site checks out the production site data into the <<<site-publish>>>
directory of the current project, to avoid being cleaned as part of the
build. It is ignored by <<<svn>>> operations, but you should ensure that
the checkout is clean if you ever cancel or have a failure during a publish
operation. You can check it is clean by ensuring there is no data from
<<<git status>>> in that directory, or by removing it and having it get
checked out again.
* Editing and Publishing the Main Site
The site displayed at the root of {{http://archiva.apache.org}} (where
you are reading this) has its source code in Git at
{{https://gitbox.apache.org/repos/asf/archiva-site.git}}.
To edit and publish the site, do the following:
[[1]] Checkout the source code from Git (if you follow the
instructions in {{{./building.html} Building Archiva}}, you know
how to have it.
[[2]] Make edits and check them using <<<mvn site>>> or <<<mvn
site:run>>> until satisfied.
[[3]] Commit your changes (making sure your working copy is completely up
to date first)
[[4]] Publish the site:
----
mvn site-deploy
----
This site deployment can be done at any time, and is not tied to releases.
Note that since the main site also contains the (large!) <<<docs>>> and
<<<ref>>> directories in the <<<site-publish>>> directory, there is a
special <<<setup-checkout>>> profile in place to get the initial checkout
without those directories. This will normally be activated whenever the
<<<site-publish>>> directory is missing - if you happen to have active
profiles from your <<<settings.xml>>> you may need to enable it explicitly
whenever you do a deployment and that checkout is missing: <<<mvn
site-deploy -Psetup-checkout>>>
* Editing and Publishing the Archiva Documentation
The documentation displayed under the subdirectories of
{{http://archiva.apache.org/docs/}} has its source code in Git at
{{https://gitbox.apache.org/repos/asf/archiva.git}} directory archiva-docs, which
is part of the main project checkout.
The instructions for managing the documentation is the same as for the main
site, being published from the directory using:
----
mvn site-deploy
----
However, in this case it is typically done as part of a release process -
see {{{./releasing.html} Releasing Archiva}} for instructions on doing this.
The documentation remains versioned based on the release it is related to.
To best manage this with svnpubsub, the site is always published into a
directory <<<docs/latest>>>, only requiring a small number of modifications
to be made. Then, as part of the release instructions, the <<<latest>>>
directory is copied to the versioned location - for example,
<<<http://svn.apache.org/repos/asf/archiva/site-content/docs/1.4-M4>>>.
For <<<site:stage>>> to apply correctly without needing a full checkout, a
workaround is applied by setting the <<<distributionManagement/site/url>>>
element to match that of the parent site. The value is then overridden with
the correct value in the <<<maven-scm-publish-plugin>>> configuration. This
avoids the Site plugin attempting to relativize links incorrectly.
* Editing and Publishing the Reference Documentation
The reference documentation, including JavaDocs and source cross-reference,
is displayed under the URL {{http://archiva.apache.org/ref}}. At this
time, only the latest reference documents are retained. They require quite
a lot of space, and historical information is of less relevance to
Archiva developers or users.
To publish the latest reference documents, you need to run:
----
cd archiva-modules
mvn site site:stage scm-publish:publish-scm
or
sh ./deploySite.sh
----
This will likely cause a very large commit, and should be done
infrequently. Once per release is likely to be adequate.
* Publishing Redback site
The redback is stored under the Subversion repository at {{https://svn.apache.org/repos/asf/archiva/redback/redback-site/trunk}}.
It's displayed under the URL {{http://archiva.apache.org/redback}}.
To publish documentation, you need to run:
----
mvn site-deploy
----
* Publishing Redback Core reference
The Redback core reference is displayed under the URL {{http://archiva.apache.org/redback/core}}.
It contains javadoc for Redback core.
To publish documentation, you need to run:
----
mvn clean site-deploy scm-publish:publish-scm
or
sh ./deploySite.sh
----
* Publishing Redback Components reference
The Redback components reference is displayed under the URL {{http://archiva.apache.org/redback/components}}.
It contains javadoc for Redback components.
To publish documentation, you need to run:
----
mvn clean site-deploy scm-publish:publish-scm
or
sh ./deploySite.sh
----