Author: psteitz
Date: Sun Jul 31 01:15:06 2005
New Revision: 226622

URL: http://svn.apache.org/viewcvs?rev=226622&view=rev
Log:
Initial commit - maven build instructions.

Added:
    jakarta/commons/proper/commons-build/trunk/maven.xml.sample
    jakarta/commons/proper/commons-build/trunk/navigation.xml.sample
    jakarta/commons/proper/commons-build/trunk/project.xml.sample
    jakarta/commons/proper/commons-build/trunk/xdocs/building.xml   (with props)

Added: jakarta/commons/proper/commons-build/trunk/maven.xml.sample
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/commons-build/trunk/maven.xml.sample?rev=226622&view=auto
==============================================================================
--- jakarta/commons/proper/commons-build/trunk/maven.xml.sample (added)
+++ jakarta/commons/proper/commons-build/trunk/maven.xml.sample Sun Jul 31 
01:15:06 2005
@@ -0,0 +1,48 @@
+ <!--
+   Copyright 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<project xmlns:deploy="deploy" default="jar:jar" xmlns:ant="jelly:ant"> 
+
+  <!-- ================================================================== -->
+  <!-- START : C O M M O N S - B U I L D                                  -->
+  <!-- ================================================================== -->
+  <!-- Required: Look and Feel for documentation within distributions     -->
+  <!-- ================================================================== -->
+  <postGoal name="xdoc:copy-resources">  
+    <copy todir="${basedir}/target/docs/style/" failonerror="false">
+      <fileset dir="${basedir}/../commons-build/xdocs/style">
+       <include name='**/*'/>
+      </fileset>
+    </copy>
+  </postGoal>
+  <!-- ================================================================== -->
+  <!-- END: C O M M O N S - B U I L D                                     -->
+  <!-- ================================================================== -->
+
+  <preGoal name="dist:build-bin"> 
+    <copy todir="${maven.dist.bin.assembly.dir}">
+      <fileset file='${basedir}/NOTICE.txt'/>
+      <fileset file='${basedir}/RELEASE-NOTES.txt'/>
+    </copy>
+  </preGoal>
+  
+  <preGoal name="dist:build-src">
+    <copy todir="${maven.dist.src.assembly.dir}">
+      <fileset file='${basedir}/NOTICE.txt'/>
+      <fileset file='${basedir}/RELEASE-NOTES.txt'/>
+    </copy>
+  </preGoal>
+ 
+</project>

Added: jakarta/commons/proper/commons-build/trunk/navigation.xml.sample
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/commons-build/trunk/navigation.xml.sample?rev=226622&view=auto
==============================================================================
--- jakarta/commons/proper/commons-build/trunk/navigation.xml.sample (added)
+++ jakarta/commons/proper/commons-build/trunk/navigation.xml.sample Sun Jul 31 
01:15:06 2005
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+
+<!--
+   Copyright 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<!DOCTYPE org.apache.commons.menus SYSTEM 
'../../commons-build/menus/menus.dtd'>
+
+<project name="Foo">
+
+  <title>Foo</title>
+  <organizationLogo href="/images/jakarta-logo-blue.gif">
+   Jakarta
+  </organizationLogo>
+
+  <body>
+    <links>
+      <item name="Jakarta"                   
+            href="http://jakarta.apache.org"/>
+      <item name="Jakarta Commons"                   
+            href="http://jakarta.apache.org/commons/"/>
+    </links>
+
+    <menu name="Foo">
+      <item name="Overview"                href="/index.html"/>
+      <item name="Proposal"                href="/proposal.html"/>
+      <item name="Developers Guide"        href="/developers.html"/>
+      <item name="Javadoc (1.0 release)"   href="api/index.html"/>
+      <item name="Javadoc (1.1-dev)"       href="apidocs/index.html"/>
+      <item name="Source Repository (current)"  
+       
href="http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/foo/trunk"/>
+      <item name="Wiki"  
+            href="http://wiki.apache.org/jakarta-commons/Foo"/>
+    </menu>
+    <menu name="User Guide">
+      <item name="Contents"                href="/userguide/index.html"/>
+      <item name="Overview"                href="/userguide/overview.html"/>
+    </menu>
+    
+    &common-menus;
+
+  </body>
+</project>

Added: jakarta/commons/proper/commons-build/trunk/project.xml.sample
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/commons-build/trunk/project.xml.sample?rev=226622&view=auto
==============================================================================
--- jakarta/commons/proper/commons-build/trunk/project.xml.sample (added)
+++ jakarta/commons/proper/commons-build/trunk/project.xml.sample Sun Jul 31 
01:15:06 2005
@@ -0,0 +1,140 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+   Copyright 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+  -->
+<!-- $Id$ -->
+
+<project>
+  <pomVersion>3</pomVersion>
+  <name>Foo</name>
+  <id>commons-foo</id>
+  <currentVersion>1.0</currentVersion>
+  <inceptionYear>2005</inceptionYear>
+  <shortDescription>Jakarta Commons Foo</shortDescription>
+  <description>A Foo thing</description>
+  <logo>/images/logo.gif</logo>
+  <url>http://jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</url>
+  <package>org.apache.commons.${pom.artifactId.substring(8)}</package>
+  <organization>
+    <name>The Apache Software Foundation</name>
+    <url>http://jakarta.apache.org</url>
+    <logo>http://jakarta.apache.org/images/original-jakarta-logo.gif</logo>
+  </organization>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>/LICENSE.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <gumpRepositoryId>jakarta</gumpRepositoryId>
+  <issueTrackingUrl>http://issues.apache.org/bugzilla/</issueTrackingUrl>
+  <siteAddress>cvs.apache.org</siteAddress>
+  
<siteDirectory>/www/jakarta.apache.org/commons/${pom.artifactId.substring(8)}/</siteDirectory>
+  
<distributionDirectory>/www/jakarta.apache.org/builds/jakarta-commons/${pom.artifactId.substring(8)}/</distributionDirectory>
+  <repository>
+    
<connection>scm:svn:http://svn.apache.org/repos/asf/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk</connection>
+    
<url>http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/${pom.artifactId.substring(8)}/trunk/</url>
+  </repository>
+  <mailingLists>
+    <mailingList>
+      <name>Commons Dev List</name>
+      <subscribe>[EMAIL PROTECTED]</subscribe>
+      <unsubscribe>[EMAIL PROTECTED]</unsubscribe>
+      
<archive>http://mail-archives.eu.apache.org/mod_mbox/jakarta-commons-dev/</archive>
+    </mailingList>
+    <mailingList>
+      <name>Commons User List</name>
+      <subscribe>[EMAIL PROTECTED]</subscribe>
+      <unsubscribe>[EMAIL PROTECTED]</unsubscribe>
+      
<archive>http://mail-archives.eu.apache.org/mod_mbox/jakarta-commons-user/</archive>
+    </mailingList>
+  </mailingLists>
+  <versions>
+    <version>
+      <id>1.0-RC1</id>
+      <name>1.0</name>
+      <tag>SAMPLE_1_0_RC1</tag>
+    </version>
+  </versions>
+  <developers>
+    <developer>
+      <name>Brave Soul</name>
+      <id>bsoul</id>
+      <email>bsoul at apache dot org</email>
+    </developer>
+  </developers>
+  <contributors>
+    <contributor>
+      <name>Great Contributor</name>
+    </contributor>
+  </contributors>
+  <dependencies>
+    <dependency>
+      <id>commons-logging</id>
+      <version>1.0.3</version>
+    </dependency>
+  </dependencies>
+  <build>
+    <nagEmailAddress>commons-dev@jakarta.apache.org</nagEmailAddress>
+    <sourceDirectory>src/java</sourceDirectory>
+    <unitTestSourceDirectory>src/test</unitTestSourceDirectory>
+    <unitTest>
+      <includes>
+        <include>**/*Test.java</include>
+      </includes>
+      <excludes>
+        <exclude>**/*AbstractTest.java</exclude>
+      </excludes>
+      <resources>
+        <resource>
+          <directory>${pom.build.unitTestSourceDirectory}</directory>
+          <includes>
+            <include>**/*.xml</include>
+            <include>**/*.txt</include>
+          </includes>
+        </resource>
+      </resources>
+    </unitTest>
+    <resources>
+      <resource>
+        <directory>${basedir}</directory>
+        <includes>
+          <include>NOTICE.txt</include>
+        </includes>
+        <targetPath>META-INF</targetPath>
+      </resource>
+    </resources>
+  </build>
+  <reports>
+    <report>maven-changes-plugin</report>
+    <!--
+    <report>maven-changelog-plugin</report>
+    <report>maven-checkstyle-plugin</report>
+    <report>maven-clover-plugin</report>
+    <report>maven-developer-activity-plugin</report>
+    <report>maven-file-activity-plugin</report>
+    <report>maven-jdiff-plugin</report>
+    <report>maven-tasklist-plugin</report>
+    <report>maven-linkcheck-plugin</report>
+    -->
+    <report>maven-javadoc-plugin</report>
+    <report>maven-jdepend-plugin</report>
+    <report>maven-junit-report-plugin</report>
+    <report>maven-jxr-plugin</report>
+    <report>maven-license-plugin</report>
+  </reports>
+</project>

Added: jakarta/commons/proper/commons-build/trunk/xdocs/building.xml
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/commons-build/trunk/xdocs/building.xml?rev=226622&view=auto
==============================================================================
--- jakarta/commons/proper/commons-build/trunk/xdocs/building.xml (added)
+++ jakarta/commons/proper/commons-build/trunk/xdocs/building.xml Sun Jul 31 
01:15:06 2005
@@ -0,0 +1,350 @@
+<?xml version="1.0"?>
+<!--
+   Copyright 2005 The Apache Software Foundation
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+   you may not use this file except in compliance with the License.
+   You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+   Unless required by applicable law or agreed to in writing, software
+   distributed under the License is distributed on an "AS IS" BASIS,
+   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+   See the License for the specific language governing permissions and
+   limitations under the License.
+-->
+
+<document>
+
+ <properties>
+  <title>Building Components</title>
+  <author email="commons-dev@jakarta.apache.org">Commons Documentation 
Team</author>
+ </properties>
+
+ <body>
+  <section name='Introduction'>
+    <p>
+    This document provides information on setting up and executing builds for
+    Jakarta Commons components and web sites. The contents include best
+    practices and conventions that commons components should follow.
+    This information should be useful to committers setting up
+    new components as well as to volunteers who want to build commons
+    components or web sites from source or to contribute patches to the build
+    artifacts.
+    </p>
+    <p>
+    The assumption throughout is that we are working with a component named
+    "Jakarta Commons Foo" that uses maven as its build system, both for
+    distribution binaries and for the web site.  Contributions of instructions
+    covering ant-based builds are welcome! 
+    </p>
+    <p>
+    Some knowledge of maven is assumed in this document.  Please refer to the
+    <a href="http://maven.apache.org/using/index.html";>maven user guide</a> and
+    <a href="http://maven.apache.org/reference/index.html";>reference</a>
+    for more information. Most commons components now use version 1 of maven,
+    so this is the maven version assumed throughout this document. Updates
+    covering maven 2 are welcome!
+    </p>
+  </section>
+
+  <section name='Local environment setup'>
+    <p>
+    To build Jakarta Commons components or web sites, you need to have maven
+    installed and the project source files checked out locally. You may also
+    need to have some local build properties specified.  This section describes
+    the local setup required. 
+    </p>
+    <subsection name='Getting and installing maven'>
+      <p>
+      Follow the instructions 
+      <a href="http://maven.apache.org/start/download.html";>here</a> to
+      download and install maven. Be sure to follow the instructions for
+      upgrading the plugins to the latest releases.
+      </p>
+    </subsection>
+    <subsection name='Checking out the commons sources'>
+      <p>
+      Follow the instructions 
+      <a href="http://jakarta.apache.org/commons/svninfo.html";>here</a> to
+      check out the commons source files. If you want to build
+      commons component web sites, you need to have the 
+      <code>commons-build</code> module checked out as a peer to whatever 
+      component(s) you are trying to generate the site for. If you check out
+      the full set of "trunks" using the svn externals "trunks-proper" or
+      "trunks-sandbox" this will happen automatically.
+      </p>
+    </subsection>
+    <subsection name='Configuring local properties'>
+      <p>
+      As a general rule, dependencies on local properties (things not specified
+      in <code>project.xml</code> or <code>project.properties</code>) should be
+      avoided. There are a few things, however, that are specific to individual
+      developers that may need to be set locally. Generally, only committers
+      need to set local properties.  As documented
+      <a href="http://maven.apache.org/reference/properties.html";>here</a>, 
+      maven looks for property values first in <code>project.properties</code>
+      in the project's base directory (where <code>project.xml</code>
+      lives), then in <code>build.properties</code> if that exists in the
+      same directory, then in ${user.home}/build.properties and finally in
+      System properties. Values are successively overridden if they occur in
+      multiple places in this list.
+      </p>
+      <p>
+      It may be convenient for committers running unix systems to set the
+      following properties in ${user.home}/build.properties, which will make
+      them apply to all maven projects that they work on.
+      <pre>
+      maven.username (apache user name, for site deployment)
+      maven.repo.apache.releases.username   (apache user name, for releases)
+      maven.repo.apache.releases.privatekey (pgp signing key)
+      maven.repo.apache.releases.passphrase (passphrase for pgp key)
+      </pre>
+      If you work only on Jakarta projects, you can add
+      <code> maven.remote.group=jakarta </code>
+      otherwise this will need to be specified for each project that you want
+      to use maven to deploy.
+      </p>
+    </subsection> 
+  </section>
+
+  <section name='Maven POM (project.xml) configuration'>
+  <p>
+  A sample <code>project.xml</code> file showing the standard configuration
+  for Jakarta Commons components can be found 
+  <a 
href="http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-build/trunk/project.xml.sample";>
+  here</a> This section describes the key elements in the POM and how the
+  sample file needs to be modified or customized for different components.
+  </p> 
+    <subsection name='Top level elements'>
+      <p>
+      The following top-level elements of the POM should be changed to reflect
+      the individual component.  Elements not listed below should keep the
+      values in the sample file.
+      <table><tr><th>Element</th><th>Value</th><th>Example
+      (value to replace)</th></tr>
+      <tr><td>name</td><td>The capitalized name of the component</td>
+      <td>Foo</td></tr>
+      <tr><td>id</td><td>commons-component (where "component" is the
+      uncapitalized name of the component)</td><td>commons-foo</td></tr>
+      <tr><td>currentVersion</td><td>current version under development</td>
+      <td>1.0</td></tr>
+      <tr><td>inceptionYear</td><td>year when the component was created</td>
+      <td>2005</td></tr>
+      <tr><td>shortDescription</td><td>Jakarta Commons &lt;capitalized name&gt;
+      </td><td>Jakarta Commons Foo</td></tr>
+      <tr><td>description</td><td><strong>Brief</strong> description of what
+      the component is</td><td>A Foo thing</td></tr>
+      <tr><td>logo</td><td>path to component logo image</td>
+      <td>/images/logo.png</td></tr>    
+      </table>
+      </p>
+    </subsection>
+    <subsection name='Addtional POM elements'>
+      <p>
+      In addition to the basic project information in the preceeding section,
+      the following POM elements need to be customized or at least verified for
+      individual commons components.
+      <table><tr><th>Element</th><th>Comments</th></tr>
+      <tr><td>versions</td><td>This list should include an entry for each
+      official release of the component.  The <code>id</code> and 
+      <code>name</code> for each version should be the release number, e.g.,
+      "1.2".  The <code>tag</code> should be the name of the svn tag
+      corresponding to the sources used to build the release.</td></tr>
+      <tr><td>developers</td><td>This list should include all committers who
+      work on the component. Each committer's first commit to the component
+      should include adding him/herself to the developers list.</td></tr>
+      <tr><td>contributors</td><td>Most commons components have done away with
+      @author tags, so the way we acknowledge contributors is by adding them to
+      this list, which will appear on the maven-generated web site. Make sure
+      that you have the correct spelling of contributors' names and do not
+      include email addresses unless contributors specifically authorize this.
+      </td></tr>
+      <tr><td>dependencies</td><td>minimize these ;-) and group them with
+      comments designating them as compile-time, run-time and test-only if
+      these distinctions apply.</td></tr>
+      <tr><td>build</td><td>The sample file assumes the standard directory
+      layout, with source code in <code>src/jave</code> and tests in 
+      <code>src/test</code>.  It also assumes that test classes have names that
+      end in "Test", e.g. "FooManagerTest.java" and that abstract test classes
+      have names that end in "AbstractTest", e.g., "FooFooerAbstractTest." Do
+      <strong>not</strong> remove the <code>resources</code> element that
+      includes <code>NOTICE.TXT</code>.</td></tr>
+      <tr><td>reports</td><td>Reports published to the live web site should be
+      limited to the short list in the sample POM.  The 
+      <code>maven-changes-plugin</code> should only be used if the component
+      maintains a <code>changes.xml</code> file in <code>/xdocs</code> 
+      following the format described 
+      <a href="http://maven.apache.org/reference/plugins/changes/";>here</a>
+      </td></tr></table>
+      </p>
+    </subsection>
+  </section>
+
+  <section name='Property configuration'>
+    <p>
+    A sample <code>project.properties</code> can be found 
+    <a 
href="http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-build/trunk/project.properties.sample";>
+    here</a> There is very little that needs to be customized for individual
+    components in this file. The table below calls out a few
+    properties which individual components may wish to modify.  The deployment
+    and site generation properties (which should not be changed) are discussed
+    in other sections below.
+    <table><tr><th>Property</th><th>Comments</th></tr>
+    <tr><td>maven.test.skip</td><td>Set to <code>true</code> to skip unit tests
+    during build. Useful when testing build changes, but should not be checked
+    in with value set to <code>true.</code></td></tr>
+    <tr><td>maven.test.failure</td><td>Set this to <code>false</code> to allow
+    the build to succeed when unit tests fail. This should not be checked in
+    with the value set to <code>false.</code></td></tr>
+    <tr><td>maven.checkstyle.properties</td><td>If the component uses the
+    checkstyle plugin, this property should be set to the location of the
+    checkstyle rules file.</td></tr>
+    <tr><td>maven.javadoc.links</td><td>Components should add links to any
+    javadoc resources beyond the jdk here.</td></tr></table>
+    </p>
+  </section>
+
+  <section name='Generating and publishing the web site'>
+    <subsection name='Generating the site'>
+    <p>
+    Use <code>maven site:generate</code> to generate the component web site
+    locally. Then review the generated html in <code>target/docs.</code>
+    Navigation is specified in <code>xdocs/navigation.xml.</code> A sample
+    navigation file can be found 
+    <a 
href="http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-build/trunk/navigation.xml.sample";>
+    here.</a>  This file refers to entities defined in 
+    <code>../../commons-build/menus/menus.dtd,</code> so, as mentioned above,
+    commons-build has to be checked out as a peer to the component whose web
+    site you are building. The menu structure in the sample is standard for
+    commons components, though some elements (e.g, User's Guide) may not be
+    present for all components.  At the very least, each component
+    <strong>must</strong> include a link to the javadoc for the most recent
+    release.  Links to Javadoc for the last release and for the current
+    development branch should also be included.
+    </p>
+    </subsection>
+    <subsection name='Updating the public site'>
+    <p>
+    Once you have successfully generated the web site, reviewed it
+    locally and checked in any xdocs or configuration changes, you can deploy
+    it using <code>maven site:sshdeploy.</code>  For this to work, the 
+    following conditions need to be satisfied: <ol>
+    <li> The <code>&lt;siteAddress&gt;</code> and 
+    <code>&lt;siteDirectory&gt;</code> POM elements have to have the values
+    <code>cvs.apache.org</code> and 
+    <code>/www/jakarta.apache.org/commons/foo/</code> respectively (will be the
+    case if you do not change the settings in <code>project.xml.sample.</code>)
+    </li>
+    <li> You have to be a member of the <code>jakarta</code> unix group 
+    (should happen when you are set up as a jakarta committer).</li>
+    <li> You have an ssh key set up. Follow the instructions at the bottom
+    of <a href="http://www.apache.org/dev/cvs-on-unix.html";>this page</a>
+    to get this set up correctly.</li></ol>
+    Assuming the second condition above is met, you can also deploy sites
+    manually using scp or by tarring / zipping and extracting the content
+    to the path above on <code>cvs.apache.org.</code>  In either case,
+    The content will be rsynched within a few hours to the production
+    web server(s).  Note that because of the rsynch delay, 
+    <strong>your changes will not appear immediately on the live site.</strong>
+    </p>
+    </subsection>     
+  </section>
+
+  <section name='Deploying jars'>
+    <p>
+    Maven's jar plugin supports automated deployment of jars to local or remote
+    maven repositories.  This powerful feature makes distribution easy, but
+    also makes inadvertent deployment of development jars possible. The
+    setup in 
+    <a 
href="http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-build/trunk/project.properties.sample";>
+    <code>project.properties.sample</code></a> ensures that this does not
+    happen.  This section explains how to deploy jars using maven at apache.
+    </p>
+    <subsection name='repository structure'>
+      <p>
+      There are three maven repositories that apache committers should be aware
+      of.  The table below describes each of these repositories.
+      <table><tr><th>External Repository URL</th><th>Function</th></tr>
+      <tr><td>http://cvs.apache.org/repository/</td>
+      <td>deployment location for apache "snapshot" jars. This repository
+      exists for internal apache use only. External projects should
+      <strong>not</strong> use this repository for dependency resolution and
+      apache projects should <strong>not</strong> release code with 
dependencies on
+      snapshot jars.</td></tr>
+      <tr><td>http://www.apache.org/dist/java-repository/</td>
+      <td>deployment location for <strong>released</strong> apache jars. 
+      Should not be accessed for dependency resolution by maven builds. 
Contents
+      are rsynched to ibiblio.</td></tr>
+      <tr><td>http://www.ibiblio.org</td>
+      <td>Default remote repository used by maven. Apache release jars are
+      rsynched every few hours from java-repository to this 
repository.</td></tr>
+      </table>
+      </p>
+    </subsection>
+    <subsection name='deploying release jars'>
+      <p>
+      The instructions here automate the process described in step 8 of the
+      <a href="http://jakarta.apache.org/commons/releases/release.html";>
+      Jakarta Commons Release Instructions.</a> It is essential that only
+      <strong>release</strong> jars be deployed in this way and that the
+      <code>artifactId</code> in <code>project.xml</code> be set correctly.
+      </p>
+      <p>
+      To deploy a release jar to <code>java-repository</code>, you need to
+      have an ssh key set up (see site deployment section above) and you need
+      to set the <code>maven.repo.list</code> property to refer to 
+      <code>java-repository.</code>  The safest way to do this (to minimize
+      risk of inadvertent production deployment) is to rely on the setup in
+      <a 
href="http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-build/trunk/project.properties.sample";>
+      project.properties.sample</a>, which leaves <code>java-repository</code>
+      off of the repo list, so you have to overrride the list on the command
+      line: 
+      <source>maven -Dmaven.repo.list=apache.releases jar:deploy</source>
+      For this to work, <code>apache.releases</code> has to be configured as in
+      <code>project.properties.sample</code> to point to 
+      <code>java-repository.</code> Jars deployed to 
+      <code>java-repository</code> will be rsynched to <code>ibiblio</code>
+      within a few hours. Immediately after deployment, you should download
+      the jar and verify that: <ul>
+      <li>the name of the jar is correct (matches release)</li>
+      <li>the md5 checksum of the jar matches the release version</li>
+      <li>the md5 checksum of the jar is correct </li>
+      <li>the manifest of the jar is correct</li>
+      </ul>
+      As stated in the 
+      <a href="http://jakarta.apache.org/commons/releases/release.html";>
+      release instructions</a>, please make sure to update the artifact id to 
+      end in <code>-dev</code> after pushing out the release jar. 
+      </p>
+    </subsection>
+    <subsection name='deploying snapshot jars'>
+      <p>
+      Assuming the setup in <code>project.properties.sample</code>, and 
+      correctly set artifact id (should end in <code>-dev</code> or 
+      <code>-SNAPSHOT</code>) the following command can be used to deploy a 
+      "snapshot" or "development build" jar to the apache snapshot repository:
+      <source>maven jar:deploy</source>
+      </p>
+    </subsection>
+  </section>
+  <section name='Scripting in maven.xml'>
+    <p>
+    To customize the behavior of maven builds, jelly-script can be added to
+    <code>maven.xml</code> The 
+    <a href="http://maven.apache.org/reference/scripting.html";>maven scripting
+    reference</a> provides details and examples.  For ease of maintanance and
+    to make upgrades easier, scripting should be kept to an absolute minimum.
+    If a plugin does not quite do what we need, it is better to try to get the
+    plugin extended to perform the function than to script around the problem.
+    That said, there are some standard customizations for commons
+    components shown in
+    <a 
href="http://svn.apache.org/repos/asf/jakarta/commons/proper/commons-build/trunk/maven.xmp.sample";>
 
+    maven.xml.sample</a> The pre- and post-goals defined there copy the
+    resources required to ensure that all web sites have a common look and feel
+    and that required licenses and notices are included in release 
distributions.
+    </p>  
+  </section>
+ </body>
+</document>

Propchange: jakarta/commons/proper/commons-build/trunk/xdocs/building.xml
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: jakarta/commons/proper/commons-build/trunk/xdocs/building.xml
------------------------------------------------------------------------------
    svn:keywords = Date Author Id Revision HeadURL

Propchange: jakarta/commons/proper/commons-build/trunk/xdocs/building.xml
------------------------------------------------------------------------------
    svn:mime-type = text/xml



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to