svn merge -c1489378 ^/tiles/request/branches/TREQ_1_0_X .
| upgrade to tiles-master-5.
| upgrade to svnpubsub system using maven-scm-publish-plugin.
| update the release and building pages for devs (svnpubsub, and referencing existing apache docs).


git-svn-id: https://svn.apache.org/repos/asf/tiles/request/trunk@1489384 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/pom.xml b/pom.xml
index 06160e6..b6b45d2 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
     <parent>
         <artifactId>tiles-master</artifactId>
         <groupId>org.apache.tiles</groupId>
-        <version>4</version>
+        <version>5</version>
         <relativePath />
     </parent>
     <groupId>org.apache.tiles</groupId>
@@ -59,7 +59,7 @@
     <distributionManagement>
         <site>
             <id>apache-site</id>
-            <url>scp://people.apache.org/www/tiles.apache.org/tiles-request</url>
+            <url>scm:svn:https://svn.apache.org/repos/asf/tiles/site/staging/tiles-request</url>
         </site>
     </distributionManagement>
 
@@ -121,11 +121,11 @@
                 </executions>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-release-plugin</artifactId>
+              <groupId>org.apache.maven.plugins</groupId>
+              <artifactId>maven-scm-publish-plugin</artifactId>
+              <extensions>true</extensions>
                 <configuration>
-                    <releaseProfiles>apache-release</releaseProfiles><!-- xxx tiles still uses "release" instead of "apache-release" -->
-                    <goals>deploy site-deploy</goals>
+                    <pubScmUrl>scm:svn:https://svn.apache.org/repos/asf/tiles/site/staging/tiles-request</pubScmUrl>
                 </configuration>
             </plugin>
         </plugins>
diff --git a/src/site/apt/dev/release.apt b/src/site/apt/dev/release.apt
index 171a71f..dfc67da 100644
--- a/src/site/apt/dev/release.apt
+++ b/src/site/apt/dev/release.apt
@@ -25,15 +25,23 @@
 
   Here you will find the steps to create releases for Tiles.
 
+  Apache's existing documentation should be read
+
+  * {{{http://www.apache.org/dev/release-publishing}Publishing Releases}}
+
+  * {{{http://www.apache.org/dev/publishing-maven-artifacts.html}Publishing Maven Artifacts}}
+
+  * {{{http://www.apache.org/dev/release}Releases Policy}}
+
 Prerequisites
 
   To create a release you have to install:
 
   * {{{http://java.sun.com/javase/6}Java 6.0}}. If you are using a newer
-  version of Java, it is suggested to <<change JAVA_HOME environment variable>>
+  version of Java <<change JAVA_HOME environment variable>>
   when calling Maven, so it points to an instance of Java 6.0;
 
-  * {{{http://maven.apache.org/}Maven 2.2 or 3}};
+  * {{{http://maven.apache.org/}Maven 2.2.1+ or 3}};
 
   * {{{http://www.gnupg.org/}GnuPG}};
 
@@ -84,43 +92,7 @@
 
   Your <<<settings.xml>>> must be modified to allow deployment.
 
-  This is the minimal configuration, obviously if you already have a <<<settings.xml>>> file,
-  you must edit it:
-
----------------------------
-<settings xmlns="http://maven.apache.org/POM/4.0.0"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                      http://maven.apache.org/xsd/settings-1.0.0.xsd">
-    <servers>
-        <server>
-            <id>apache-site</id>
-            <username>YOUR_APACHE_USERNAME</username>
-            <filePermissions>664</filePermissions>
-            <directoryPermissions>775</directoryPermissions>
-        </server>
-        <server>
-            <id>apache.snapshots.https</id>
-            <username>YOUR_APACHE_USERNAME</username>
-            <password>YOUR_APACHE_PASSWORD</password>
-        </server>
-        <server>
-            <id>apache.releases.https</id>
-            <username>YOUR_APACHE_USERNAME</username>
-            <password>YOUR_APACHE_PASSWORD</password>
-        </server>
-    </servers>
-    <profiles>
-        <profile>
-            <id>release</id>
-            <properties>
-                <gpg.passphrase>YOUR_SECRET_PHRASE</gpg.passphrase>
-            </properties>
-            </profile>
-        </profile>
-    </profiles>
-</settings>
----------------------------
+  See {{{http://www.apache.org/dev/publishing-maven-artifacts.html#dev-env}Publishing Maven Artifacts – Setup your development environment}}
 
 Repeatable operations
 
@@ -132,6 +104,7 @@
   you are preparing the release and type:
 
 -----------------------------------
+mvn clean
 mvn release:prepare -Dusername=YOUR_SVN_USER -Dpassword=YOUR_SVN_PASSWORD
 -----------------------------------
 
@@ -151,14 +124,24 @@
   
   It should compile and test everything, build and upload the artifacts and the website for the project. 
 
+  <<Troubleshooting>>: if upload of assemblies fails it can be done manually with
+
+-----------------------------------
+cd target/checkout/assembly/target/assemblies/
+ssh user@people.apache.org mkdir /www/people.apache.org/builds/tiles/request/${version}/
+scp * user@people.apache.org:/www/people.apache.org/builds/tiles/request/${version}/
+-----------------------------------
+
 * Close the staging repository
 
   Login to {{{https://repository.apache.org} Nexus repository}} using your Apache LDAP credentials.
   Click on "Staging". Then click on "tiles" in the list of repositories.
+
   In the panel below you should see an open repository that is linked to your username and ip.
   Right click on this repository and select "Close".
   This will close the repository from future deployments and make it available for others to view.
   If you are staging multiple releases together, skip this step until you have staged everything.
+
   Enter the name and version of the artifact being released in the "Description" field and then click "Close".
   This will make it easier to identify it later.
 
@@ -258,33 +241,34 @@
   After a vote is finished, and it has been decided that is
   <<at least of alpha quality>>, there is the need of a post-vote process.
 
-** Promote staged artifacts
+** Promote maven staged artifacts
 
-  Once the release is deemed fit for public consumption it can be transfered to a production repository where it will be available to all users.
+  Once the release is deemed fit for public consumption it can be transfered to a
+  production repository where it will be available to all users.
 
   Login to {{{https://repository.apache.org}Nexus repository}} again.
   Click on "Staging" and then on the repository with id "tiles-staging".
-  Find your closed staging repository, right click on it and choose "Promote".
-  Select the "Releases" repository and click "Promote".
+  Find your closed staging repository, right click on it and choose "Release".
 
   Next click on "Repositories", select the "Releases" repository
   and validate that your artifacts exist as you expect them.
 
-** Move assemblies
+** Publish distribution artifacts
 
-  * Move assemblies to the Apache distribution mirrors:
+  Move assemblies into the Apache {{{http://www.apache.org/dev/release#when-to-archive}dist}} repository:
 
 -------------------------------------------
-ssh user@people.apache.org
-
-cd /www/people.apache.org/builds/tiles/request/${version}
-mkdir /www/www.apache.org/dist/tiles/request/v${version}/
-cp * /www/www.apache.org/dist/tiles/request/v${version}/
+svn co https://dist.apache.org/repos/dist/release/tiles tiles-request-dist-releases
+mkdir tiles-request-dist-releases/v${version}
+cd tiles-request-dist-releases/v${version}
+scp user@people.apache.org:/www/people.apache.org/builds/tiles/request/${version}/* .
+svn add .
+svn ci
 -------------------------------------------
 
 ** Update the site
 
-  * Wait 24 hours to let the mirror sync to the release and then update the
+  Wait 24 hours to let the mirror sync to the release and then update the
   site. In particular you have to update the index and the download pages:
 
 ------------------------------------------------
@@ -295,8 +279,12 @@
   Build and publish the site:
 
 --------------------------------------
-mvn site
-mvn site:deploy
+mvn clean site site:stage
+mvn scm-publish:publish-scm
+# check staging website at target/scmpublish-checkout/index.html
+cd <tiles-site-checkout>/publish/tiles-request/
+svn merge ^/tiles/site/staging/tiles-request .
+svn ci
 --------------------------------------
 
 ** Send announcement
@@ -310,7 +298,7 @@
 The Apache Request Tiles team is pleased to announce the release of Tiles ${version}
 ${quality}.
 
-Tiles Request ${version} is available in a binary and a source distribution.
+Available in binary and source distribution.
 
 http://tiles.apache.org/download.html
 
diff --git a/src/site/xdoc/dev/building.xml b/src/site/xdoc/dev/building.xml
index 92dceaa..bde3752 100644
--- a/src/site/xdoc/dev/building.xml
+++ b/src/site/xdoc/dev/building.xml
@@ -65,10 +65,10 @@
             <li><p>checkout the site from the source repository:</p>
             <p><source>svn co http://svn.apache.org/repos/asf/tiles/site/</source></p></li>
             <li><p>go into the site directory and type:</p>
-            <p><source>mvn site</source></p></li>
+            <p><source>mvn clean site site:stage</source></p></li>
             </ul>
             <p>You will find the generated distribution under
-            <code>{tiles-site-dir}/target/site</code>.</p>
+            <code>{tiles-site-dir}/target/staging</code>.</p>
           </subsection>
           <subsection name="Building the tiles-request website">
             <p>To build a project's website:</p>
@@ -77,7 +77,7 @@
             distribution, or checkout the latest version:</p>
             <p><source>svn co http://svn.apache.org/repos/asf/tiles/framework/trunk/tiles-request</source></p></li>
             <li><p>go into the source directory and type:</p>
-            <p><source>mvn site site:stage</source></p></li>
+            <p><source>mvn clean site site:stage</source></p></li>
             </ul>
             <p>You will find the generated website under:</p>
             <ul>