Author: brett
Date: Thu Dec 20 20:57:59 2007
New Revision: 606095
URL: http://svn.apache.org/viewvc?rev=606095&view=rev
Log:
add a doc about how to test staged releases
Added:
maven/site/trunk/src/site/apt/guides/development/guide-testing-releases.apt
- copied, changed from r605813,
maven/site/trunk/src/site/apt/guides/development/guide-plugin-snapshot-repositories.apt
Modified:
maven/site/trunk/src/site/apt/guides/development/guide-helping.apt
Modified: maven/site/trunk/src/site/apt/guides/development/guide-helping.apt
URL:
http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/guides/development/guide-helping.apt?rev=606095&r1=606094&r2=606095&view=diff
==============================================================================
--- maven/site/trunk/src/site/apt/guides/development/guide-helping.apt
(original)
+++ maven/site/trunk/src/site/apt/guides/development/guide-helping.apt Thu Dec
20 20:57:59 2007
@@ -19,6 +19,10 @@
* {{{guide-m2-development.html#Creating_and_submitting_a_patch}Submit
patches}} to reported issues (both those you find, or that others have filed)
+ * {{{guide-testing-releases.html} test releases}} help test releases that are
being voted on (see the [EMAIL PROTECTED] {{{../../mail-lists.html} mailing
list}} for release votes
+
+ * {{{guide-plugin-snapshot-repositories.html} test snapshot plugins}} help
test the latest development versions of plugins and report issues
+
* Help with the documentation by pointing out areas that are lacking or
unclear, and if you are so inclined, submitting patches to correct it.
You can quickly contribute rough thoughts to the
{{{http://docs.codehaus.org/display/MAVENUSER/} wiki}}, or you can volunteer to
help collate and
organise information that is already there.
Copied:
maven/site/trunk/src/site/apt/guides/development/guide-testing-releases.apt
(from r605813,
maven/site/trunk/src/site/apt/guides/development/guide-plugin-snapshot-repositories.apt)
URL:
http://svn.apache.org/viewvc/maven/site/trunk/src/site/apt/guides/development/guide-testing-releases.apt?p2=maven/site/trunk/src/site/apt/guides/development/guide-testing-releases.apt&p1=maven/site/trunk/src/site/apt/guides/development/guide-plugin-snapshot-repositories.apt&r1=605813&r2=606095&rev=606095&view=diff
==============================================================================
---
maven/site/trunk/src/site/apt/guides/development/guide-plugin-snapshot-repositories.apt
(original)
+++ maven/site/trunk/src/site/apt/guides/development/guide-testing-releases.apt
Thu Dec 20 20:57:59 2007
@@ -1,109 +1,99 @@
------
- Guide to Plugin Snapshot Repositories
+ Guide to Testing Staged Releases
------
Maven Team
------
- 11 August 2006
+ 21 December 2007
------
-Introduction
+Guide to Testing Staged Releases
- If you are trying to build a development version of a maven plugin, or you
- just need to trial the latest plugin code that is yet to be released, then
- you may need to access the maven plugin snapshot repositories.
+ As part of the release process, the artifacts are staged in a temporary
repository
+ for testing and evaluation before voting. Such repositories are not
available by
+ default, so to test the project must be configured appropriately.
+
+ The steps are as follows:
-Repositories
+ * add the repository or plugin repository to your POM (see below)
- The most widely known repositories are {{{http://maven.apache.org/}Maven}}
- itself hosted at Apache and the {{{http://mojo.codehaus.org/}Mojo Project
hosted}}
- at CodeHaus.
+ * ensure you are using the released version of the artifacts in your
project (e.g. by setting the \<version\> in the \<plugin\> tag)
- Both of these sites provide snapshot versions of their plugins which are
- available from the plugin snapshot repository.
+ * test the release
- * apache snapshots =
{{http://people.apache.org/repo/m2-snapshot-repository/}}
+ * remove the repository from your POM
- * codehaus snapshots = {{http://snapshots.repository.codehaus.org/}}
+ * remove the artifacts from your local repository when you have completed
testing
-How to include the plugin snapshot repositories as part of your build
+ The repository configuration for testing a plugin will typically look
something like this (it will be provided in the vote email):
- You need to modify your <~/.m2/settings.xml> file to include two new profiles
- and then when you need access to the plugin snapshots use <<<-Papache>>> or
- <<<-Pcodehaus>>> to enable the profiles. The profile only needs to be
enabled
- once so that the plugins can be downloaded into you local repository. Once
- in your local repository Maven can succesfully resolve the dependencies and
- the profile no longer needs to be activated.
+----
+ ...
+ <pluginRepositories>
+ <pluginRepository>
+ <id>staged.releases</id>
+ <url>http://people.apache.org/~dfabulich/stage-repo</url>
+ </pluginRepository>
+ </pluginRepositories>
+ ...
+----
+
+ The important thing is that the staged release does not pollute your
eventual environment as it may change if the vote fails and the
+ release is made again. This is why clearing the local repository is
necessary, but if you are using a repository manager this is also
+ important to clear. The following provides instructions for setting Archiva
up in such a way that the artifacts are isolated already.
+
+* Setting up Archiva to Test Staged Releases
+
+ These steps will be similar for any repository manager - please refer to
their individual documentation for instructions on how to
+ configure remote proxies.
+
+ For Archiva, the first step is to create a new managed repository for the
staged releases. This will ensure they remain isolated from your
+ environment. On the repositories tab, add a new managed repository with the
settings:
+
+ * Identifier = <<<staged-releases>>>
+
+ * Name = Staged Releases
+
+ * Directory = <<</path/to/repositories/staged-releases>>>
+
+ * Uncheck 'Scannable'
+
+ Next add a remote repository with settings similar to the following:
+
+ * Identifier = <<<dfabulich.staged.releases>>>
+
+ * Name = dfabulich Staged Releases
+
+ * URL = <<<http://people.apache.org/~dfabulich/staging-repo/>>>
+
+ Finally, add a proxy connector to connect the two repositories:
+
+ * Managed repository = <<<staged-releases>>>
+
+ * Remote repository = <<<dfabulich.staged>>>
+
+ * Release policy = <<<once>>>
+
+ * Snapshot policy = <<<never>>>
+
+ * White list = <<<org/apache/maven/**>>>
+
+ You can then utilise this repository from your POM or settings in the same
way, but with the alternate URL of
+ <<<http://localhost:8080/archiva/repository/staged-releases/>>>.
+
+ The advantage of this approach is that you can usually remove your entire
local repository afterwards and after removing the staged repository
+ from your POM or settings the artifacts will no longer be used.
+
+ If you are using the repository mirroring technique to lock down to the
repository manager in your environment, you would add an additional
+ mirror to correspond to the additional repository in the POM, such as:
-+---
-<settings>
+----
...
- <profiles>
- <profile>
- <id>apache</id>
- <repositories>
- <repository>
- <id>apache.org</id>
- <name>Maven Snapshots</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>apache.org</id>
- <name>Maven Plugin Snapshots</name>
- <url>http://people.apache.org/repo/m2-snapshot-repository</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
-
- <profile>
- <id>codehaus</id>
- <repositories>
- <repository>
- <id>codehaus.org</id>
- <name>CodeHaus Snapshots</name>
- <url>http://snapshots.repository.codehaus.org</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </repository>
- </repositories>
- <pluginRepositories>
- <pluginRepository>
- <id>codehaus.org</id>
- <name>CodeHaus Plugin Snapshots</name>
- <url>http://snapshots.repository.codehaus.org</url>
- <releases>
- <enabled>false</enabled>
- </releases>
- <snapshots>
- <enabled>true</enabled>
- </snapshots>
- </pluginRepository>
- </pluginRepositories>
- </profile>
- </profiles>
+ <mirror>
+ <id>staged-releases-mirror</id>
+ <url>http://localhost:8080/archiva/repository/staged-releases/</url>
+ <mirrorOf>staged-releases</mirrorOf>
+ </mirror>
...
-</settings>
-+---
+----
- When invoking Maven for Apache profile, do it like this:
-+---
-mvn -Papache <phase|goal>
-+---