<?xml version='1.0'?>
<!--
 * Copyright 2001-2009 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 chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % BOOK_ENTITIES SYSTEM "jUDDI_Dev_Guide.ent">
%BOOK_ENTITIES;
]>

<!-- chapter: Release Process -->
<chapter id="chap-release_process">
    <title>Release Process</title>

    <section id="addgpg">
        <title>Add your gpg key to KEYS</title>
        <para>
        	In the root of the project there is a KEYS file. Add your key to this file and check it into source control.
        	Depending on your tool of choice you can use on of the following commands:
        	<programlisting>
        	pgp -kxa &lt;your name&gt; and append it to this file.
        	(pgpk -ll &lt;your name&gt; &amp;&amp; pgpk -xa &lt;your name&gt;) &gt;&gt; this file.
        	(gpg --list-sigs &lt;your name&gt;
             	&amp;&amp; gpg --armor --export &lt;your name&gt;) &gt;&gt; this file.
             </programlisting>
        </para>
    </section>
    <section id="Release steps">
	<title>Release steps</title>
	<para>
		<command>
		Environment: 
		Apache Maven 2.2.1 (r801777; 2009-08-06 15:16:01-0400)
		Java version: 1.6.0_17
		</command>
		
		<orderedlist numeration="arabic">
			<listitem>Run mvn release:prepare, this will set all the right version numbers and create a tag in SVN.</listitem>
			<listitem>Run mvn release:perform, will upload the release to a staging area in the Apache Nexus Repository.</listitem>
			<listitem>Go into the juddi-dist, and run mvn clean install -Prelease</listitem>
			<listitem>Upload the signed distribution artifacts to apache people.</listitem>
			<listitem>Start a vote referencing the build artifacts, leave the vote open for 72 hrs.</listitem>
		</orderedlist>
		
		On successful vote:
		<orderedlist numeration="continuation">
			<listitem>Release the staging artifacts in Nexus.</listitem>
			<listitem>Copy the distribution artifacts to the mirror.</listitem>
			<listitem>Update the website.</listitem>
		</orderedlist>
	</para>
    </section>
</chapter>
