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>[email protected]</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="[email protected]">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 <capitalized name>
+ </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><siteAddress></code> and
+ <code><siteDirectory></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]