Author: buildbot
Date: Sun Jan 18 21:46:55 2015
New Revision: 936690

Log:
Staging update by buildbot for commons

Modified:
    websites/staging/commons/trunk/content/   (props changed)
    websites/staging/commons/trunk/content/releases/prepare.html

Propchange: websites/staging/commons/trunk/content/
------------------------------------------------------------------------------
--- cms:source-revision (original)
+++ cms:source-revision Sun Jan 18 21:46:55 2015
@@ -1 +1 @@
-1652764
+1652860

Modified: websites/staging/commons/trunk/content/releases/prepare.html
==============================================================================
--- websites/staging/commons/trunk/content/releases/prepare.html (original)
+++ websites/staging/commons/trunk/content/releases/prepare.html Sun Jan 18 
21:46:55 2015
@@ -22,7 +22,203 @@
        <script type="text/javascript" src="../js/site.js"></script>
 
     
-      </head>
+    <!-- Disable Xdoclint, until JavaDoc issues are fixed --></p>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p>
+<ol style="list-style-type: decimal">
+<li></li>
+<li></li>
+<li></li>
+<li></li>
+<li>
+<div>
+<pre></pre></div></li>
+<li></li></ol>
+<p></p></div></div>
+<div class="section">
+<h2></h2>
+<div class="section">
+<h3></h3>
+<p></p>
+<ul>
+<li></li>
+<li></li>
+<li></li></ul></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<p></p>
+<div class="section">
+<h4></h4>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p></div>
+<div class="section">
+<h4></h4>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p></div></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p></div></div>
+<div class="section">
+<h2></h2>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p>
+<p></p>
+<div>
+<pre></pre></div>
+<p></p>
+<p></p></div></div>
+<div class="section">
+<h2></h2>
+<p></p>
+<div class="section">
+<h3></h3>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<ul>
+<li></li>
+<li></li></ul></div>
+<div class="section">
+<h3></h3>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p>
+<p></p>
+<ul>
+<li></li>
+<li></li></ul>
+<p></p>
+<div>
+<pre></pre></div></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<p></p></div></div>
+<div class="section">
+<h2></h2>
+<div class="section">
+<h3></h3>
+<p></p></div>
+<div class="section">
+<h3></h3>
+<p></p>
+<ul>
+<li></li>
+<li></li>
+<li></li></ul></div></div>
+<div class="section">
+<h2></h2>
+<p></p>
+<p></p></div>  </head>
 
        <body class="composite">
                                         <a href=".././" id="bannerLeft" 
title="Apache Commons logo">
@@ -265,6 +461,11 @@
       Typically, the proposer volunteers as the release manager and it passes 
by 
       <a class="externalLink" 
href="http://www.apache.org/foundation/glossary.html#LazyConsensus";>lazy 
consensus</a>.
       </p>
+    </div>
+
+    
+<div class="section">
+<h3><a name="Update_KEYS_file_if_necessary"></a>Update KEYS file if 
necessary</h3>
       
 <p>
       If the release manager has not yet performed a Commons release, they may 
need to add their
@@ -284,6 +485,11 @@
       The public key should also be
       <a class="externalLink" 
href="http://www.apache.org/dev/release-signing.html#keyserver-upload";>uploaded 
to a public keyserver</a>.
       </p>
+    </div>
+
+    
+<div class="section">
+<h3><a name="Create_a_Release_Plan"></a>Create a Release Plan</h3>
       
 <p>
       A release plan should also be prepared, in which the tasks remaining to 
be done before
@@ -370,847 +576,18 @@
         </p>
         
 <p>
-    If the component uses checkstyle, findbugs or PMD tools, examine the 
reports and fix all 
-    problems.
-        </p>
-    </div>
-    
-<div class="section">
-<h3><a 
name="Configure_the_Build_to_Generate_a_Complete_Set_of_Release_Artifacts"></a>Configure
 the Build to Generate a Complete Set of Release Artifacts</h3>
-      
-<p>
-      For builds using Maven, the contents of the source and binary 
distributions are configured
-      in assembly descriptors.  By convention, these are stored in 
src/main/assembly and named
-      src.xml and bin.xml, respectively.  Names and locations for these files 
are specified in
-      the maven-assembly-plugin configuration in the pom.  Make sure that all 
(and only) files
-      that should be included in the source and binary distributions are 
included in the fileset
-      elements of the descriptors.  Look at some recently released components' 
descriptors for comparison.
-      At a minimum, both source and binary distributions <b>must</b> include 
the release notes, license and 
-      notice files.
-      </p>
-      
-<p>
-      Update the version numbers in pom.xml and build.xml to the new release 
version, in this example, 1.2.
-      For Maven builds, make sure that the build properties are properly set. 
Review the <tt>properties</tt>
-      section of the pom: 
-      </p>
-<div>
-<pre>
-      &lt;properties&gt;
-        &lt;commons.componentid&gt;foo&lt;/commons.componentid&gt;
-        &lt;commons.release.version&gt;1.2&lt;/commons.release.version&gt;
-        &lt;commons.rc.version&gt;RC1&lt;/commons.rc.version&gt;
-
-        &lt;-- properties not related to versioning --&gt;
-        &lt;commons.jira.id&gt;FOO&lt;/commons.jira.id&gt;
-        &lt;commons.jira.pid&gt;007&lt;/commons.jira.pid&gt;
-        &lt;maven.compile.source&gt;1.3&lt;/maven.compile.source&gt;
-        &lt;maven.compile.target&gt;1.3&lt;/maven.compile.target&gt;
-        
&lt;project.build.sourceEncoding&gt;UTF-8&lt;/project.build.sourceEncoding&gt;
-        
&lt;project.reporting.outputEncoding&gt;UTF-8&lt;/project.reporting.outputEncoding&gt;
-      &lt;properties&gt; </pre></div>
-      
-      
-<p>
-      Make sure that the release version is set to the new release and that 
the compile and source targets
-      are set correctly. Generate and check in a new download page for the 
component:
-      </p>
-<div>
-<pre>
-      mvn commons:download-page
-      svn commit -m &quot;Updated download page in preparation for 1.2 
release.&quot; src/site/xdoc/download_foo.xml </pre></div>
-      
-      Note that the target directory must exist beforehand, and that for a 
multi-module project the <tt>-N</tt>
-        (non-recursive) parameter should be specified on the <tt>mvn</tt> 
command line.
-      
-      
-<p>
-      When using Ant, typically the Ant &quot;dist&quot; target produces the 
source and binary distributions. Included
-      files are specified in the target or sub-targets and should be verified 
similarly to above.
-      </p>
-      
-<p>
-      Test the &quot;Ant dist&quot; or &quot;mvn assembly:assembly&quot; 
command and inspect the tars/zips and jars produced. 
-      Verify that 
-      </p>
-<ol style="list-style-type: decimal">
-      
-<li> &quot;Ant dist&quot; or &quot;mvn site&quot; succeeds from the unpacked 
source distribution.</li>
-      
-<li> The jar manifests include LICENSE and NOTICE files and the contents of 
these files are correct.</li>
-      
-<li> The jar manifests contain <tt>X-Compile-Source-JDK</tt> and 
<tt>X-Compile-Target-JDK</tt>
-           entries set to the correct values. </li>
-      
-<li> The jar manifests include correctly set OSGi bundle properties (ask for 
help verifying these on
-           commons-dev if necessary). </li>
-      
-<li> The jar manifests include the following required properties, set to the 
correct values(*):
-      
-<div>
-<pre>
-  Extension-Name: org.apache.commons.foo
-  Specification-Title: Apache Commons Foo
-  Specification-Vendor: The Apache Software Foundation
-  Specification-Version: 1.2
-  Implementation-Vendor-Id: org.apache
-  Implementation-Title: org.apache.commons.foo
-  Implementation-Vendor: The Apache Software Foundation
-  Implementation-Version: 1.2 
-  Built-By: &lt;your apache ID&gt;</pre></div></li>
-      
-<li> &quot;mvn site&quot; generates the documentation correctly and all links 
are working.</li>
-      </ol>
-      Do not proceed with tagging or cutting RCs until you have a fully 
working build that produces
-      a good set of distribution artifacts.  If your component supports both 
Ant and Maven builds, make
-      sure that the build succeeds using both on all supported JDK versions.  
If you have access to
-      multiple platforms, test the build(s) on as many as you can.
-      
-      
-<p>
-      (*) The default configuration of the build will use the name of the 
current logged in user as value for the <tt>Built-By</tt> MANIFEST header. Use 
<tt>-Duser.name=&lt;your apache ID&gt;</tt> to change this.
-      </p>
-    </div>
-  </div>
-
-  
-<div class="section">
-<h2><a name="Creating_a_Release_Candidate"></a>Creating a Release 
Candidate</h2>
-
-    
-<div class="section">
-<h3><a name="Resolve_Bugs"></a>Resolve Bugs</h3>
-        
-<p>
-        Resolve all bugs on that version! They can be resolved by:
-        </p>
-<ul>
-          
-<li>fixing</li>
-          
-<li>marking them as <tt>INVALID</tt> or <tt>WONTFIX</tt></li>
-          
-<li>changing their fix version to another unreleased version</li>
-        </ul>
-        
-    </div>
-    
-<div class="section">
-<h3><a name="Check_the_commit_log"></a>Check the commit log</h3>
-      
-<p>
-        Different components have their own ways of creating the change log.
-        The most common, and recommended, way, is to record all significant
-        changes in JIRA tickets and include entries in the Maven change-log
-        file, <tt>changes.xml</tt>.  If your component has a change-log you
-        can skip this step.</p>
-      
-<p>Here's a way to get the information directly from svn if no change log
-        has been maintained for the component:
-      </p>
-      
-<p>
-        Get a list of all the commits since the last release by following 
these steps.
-        <br />
-        Assuming that, as part of the last release, a directory 
{project-base}/tags/foo-1.1
-        had been created:
-        </p>
-<div>
-<pre>
-          cd {project-base}/tags
-
-          svn log --stop-on-copy foo-1.1
-          # The last revision NNNN reported in the log output is the revision 
that was
-          # copied to create the tag. If this is a true tag directory, then of 
course
-          # there will only be one revision listed by the log command..
-
-          cd ..
-          svn log -v -rNNNN:HEAD trunk &gt; commits-since-last-release.txt
-        </pre></div>
-      
-      
-<p>
-        This will result in a file that contains info on each commit that 
affected at
-        least one file within the trunk directory since the last release. Note 
that if
-        a commit affected a group of files of which some were outside the 
trunk directory,
-        then they will be included with the associated commit message but can 
be ignored.
-      </p>
-      
-<p>
-        Using &quot;svn diff&quot; instead of &quot;svn log -v&quot; will 
result instead in a file that shows the
-        actual diffs for each file instead of the commit messages. This may be 
more convenient
-        when the commit messages are not sufficiently detailed to be able to 
build the release
-        notes directly from them.
-      </p>
-      
-<p>
-        Inspect the list of changes and enter relevant information into the 
release notes;
-        this may require inspecting the actual changes using &quot;svn 
diff&quot;.
-        Enhancements and new features need to be collated by topic.
-        Bugs fixed should be listed separately together with a short summary 
of the bug.
-      </p>
-      
-<p>
-        Please remember to spell check the release notes. Please break lines 
at 80 characters.
-      </p>
-      
-<p>
-        <b>IMPORTANT!</b> At the current time, selecting by date in subversion 
within the
-        ASF repository isn't reliable. The reason is that when converting a 
date to a revision
-        number, subversion assumes that revision N has an earlier date than 
revision N+M, and
-        that it can therefore perform a binary search on revision numbers to 
locate one with
-        the required date. However CVS imports of data that retain the 
original date
-        information from CVS break this assumption. And unfortunately because 
revisions
-        are repository-wide information, this affects date-based searches
-        even in directories unrelated to the ones that CVS stuff was imported 
into.
-        So while dates are reported correctly in &quot;svn log&quot; output, 
only revision numbers should
-        be used with the -r option. See issue #752 in the subversion issue 
tracker at tigris.org.
-      </p>
-    </div>
-    
-<div class="section">
-<h3><a name="Prepare_Release_Notes"></a>Prepare Release Notes</h3>
-        
-<p>
-    Each component should have a file RELEASE-NOTES.txt in the base directory 
of the component.
-    This file should be updated for the release and checked in prior to 
tagging or rolling
-    the release candidate.  As noted above, this file should be included in 
both the source
-    and binary release distributions. The release notes should contain a 
description of all
-    the changes since the previous release. Any compatibility issues with the 
last release
-    (whether binary or semantic) should be highlighted.  If there are no 
compatibilty issues,
-    this too should be mentioned. An introduction to the release may also be 
given, describing
-    the component and the release in general terms. The release notes should 
contain the minimum
-    target Java version for the component.
-    </p>
-    
-<p>
-    Components that use the Maven changes plugin and changes.xml to track 
changes can generate
-    a &quot;starter&quot; release notes document by supplying a custom 
Velocity template to the Maven
-    announcements plugin:
-  </p>
-<div>
-<pre>
-    mvn changes:announcement-generate
-    mv target/announcement/foo-release-notes.vm RELEASE-NOTES.txt </pre></div>
-    
-<p>The Commons Parent pom has a &quot;release-notes&quot; profile which 
automatically sets the output
-       file, so you can just run the following instead:
-    </p>
-<div>
-<pre>mvn changes:announcement-generate -Prelease-notes 
[-Dchanges.version=nnn]</pre></div>
-    
-    
-<p>The commons parent project ships with a
-    <a class="externalLink" 
href="http://svn.apache.org/repos/asf/commons/proper/commons-parent/trunk/src/changes/release-notes.vm";>default
-    template</a>.  If you want to configure your own you need to set
-    the following property in the <tt>configuration</tt>
-    for the maven-changes-plugin in the pom:
-    </p>
-<div>
-<pre>
-    &lt;template&gt;foo-release-notes.vm&lt;/template&gt;
-    </pre></div>
-    and the Velocity template, <tt>foo-release-notes.vm</tt> needs to be 
defined in
-    <tt>src/changes</tt>.  If you want to put it into a different directory
-        you also want to set the <tt>templateDirectory</tt> property.
-    
-<p>
-    The release notes should be a plain text file. Take care to ensure
-    that the format allows easy reading on a wide variety of platforms.
-    Long lines may need to be broken manually to allow them to be easily
-    read easily without word wrap.
-    </p>
-  </div>
-    
-<div class="section">
-<h3><a name="Test_Against_Listed_Dependencies"></a>Test Against Listed 
Dependencies</h3>    
-    
-<p>
-    If you are using Maven to execute the unit tests associated with the 
component then
-    there is nothing to do here; Maven will automatically perform the tests 
using the
-    library versions specified in the <tt>pom.xml</tt> file.
-    </p>
-    
-<p>
-    It's also vital to ensure that you test against the correct version of the 
Java libraries.
-    If Maven requires a later version of Java, then use the appropriate 
<tt>java-1.x</tt> profile.
-    See <a 
href="../commons-parent-pom.html#Testing_with_different_Java_versions">Testing 
with different Java versions</a>
-    for further details.
-    </p>
-    
-<p>
-    If you are using Ant to execute unit tests, then ensure the Ant 
<tt>build.xml</tt> file
-    references the same library versions as are listed as dependencies in the 
<tt>pom.xml</tt>
-    file then execute the unit tests.
-    </p>
-    </div>
-
-    
-<div class="section">
-<h3><a name="Check_the_Apache_License"></a>Check the Apache License</h3>
-        
-<p>
-        Check the <a class="externalLink" 
href="http://www.apache.org/licenses/";>Apache Licenses</a> page for current 
information.
-        Check that each distribution contains a copy of the license.
-        Check that the jar contains a copy of the license in the META-INF 
directory.
-        </p>
-        
-<p>
-        Check that the years in the copyright statement in the NOTICE file are 
correct. 
-        </p>
-        
-<p>
-        Developer documentation on how to apply the Apache License 
-        can be found in <a class="externalLink" 
href="http://www.apache.org/dev/apply-license.html";>Applying the Apache 
License, Version 2.0</a>
-        and <a class="externalLink" 
href="http://www.apache.org/legal/src-headers.html";>ASF Source Header and 
Copyright Notice Policy</a>
-        </p>
-        
-<p>
-        Some of the important items from the aforementioned documents:
-        </p>
-        
-<p>
-        <b>Do I have to have a copy of the license in each source file?</b>  
Maven builds can use the RAT plugin to
-        generate a license report.
-        </p>
-        
-<p>
-        Only one full copy of the license is needed per distribution.  Each 
source
-        file only needs to contain the boilerplate notice at:
-        </p>
-        
-<p>
-        <tt><a class="externalLink" 
href="http://www.apache.org/legal/src-headers.html#headers";>http://www.apache.org/legal/src-headers.html#headers</a></tt>
-        </p>
-        
-<p>
-        <b>In my current source files I have attribution notices for other 
works.
-        Do I put this in each source file now?</b>
-        </p>
-        
-<p>
-        No. The new license allows for a NOTICE file that contains such 
attribution
-        notices (including the Apache attribution notice).  See 
-        </p>
-        
-<p>
-        <tt><a class="externalLink" 
href="http://www.apache.org/licenses/example-NOTICE.txt";>http://www.apache.org/licenses/example-NOTICE.txt</a></tt>
-        </p>
-        
-<p>
-        for an example that provides all of the notices applicable to the
-        httpd-2.0 distribution.
-        </p>
-    </div>
-    
-    
-<div class="section">
-<h3><a name="Check_NOTICE.txt"></a>Check NOTICE.txt</h3>
-        
-<p>
-        The component should contain a NOTICE.txt (next to the LICENSE.txt).
-        If this is not present, it must be created.
-        The basic content (excepting external attributes notes) should be:
-        </p>
-        
-<div>
-<pre>
-    Apache Commons {Foo}
-    Copyright {earliest}-{latest} The Apache Software Foundation
-
-    This product includes software developed at
-    The Apache Software Foundation (http://www.apache.org/).
-        </pre></div>
-      
-<p>Verify <tt>{latest}</tt> is the current year.</p>
-        
-<p>
-        The NOTICE.txt must be distributed along with the LICENSE.txt.
-        Check that the distribution build correctly adds this file
-        to the distributions and that the copyright start and end dates are 
correct.
-        </p>
-    </div>
-    
-<div class="section">
-<h3><a name="Tag_the_Release_Candidate"></a>Tag the Release Candidate</h3>
-        
-<p>
-        Once all the preparations agreed in the release plan has been 
completed, create a Release Candidate. 
-        Before creating the tag from which the release candidate will be 
generated, run the distribution build
-        and double check that everything is still fine.
-        </p>
-        
-<p>
-        Make sure that the build version number corresponds to the release 
version.  For example, 
-        <tt>commons-foo-1.2</tt>.  What you are preparing at this point is a 
candidate for release,
-        which we will vote on and then push directly to the mirrors.  Clean 
build, run the unit tests
-        and check that the javadocs  have the correct version number.  Check 
in all changes.
-        </p>
-        
-<p>
-          Now create the tag for the release candidate.  There are two options 
how to do that,
-          you can either use the Maven release plugin or create the tag 
manually.  In either case, record
-          the svn revision number, you'll need it for the release vote 
mail.</p>
-      
-      
-<div class="section">
-<h4>Manual Method<a name="Manual_Method"></a></h4>
-        
-<p>Create a clean SVN workspace for the release candidate:</p>
-      
-<div>
-<pre>
-      svn co https://svn.apache.org/repos/asf/commons/proper/foo/trunk 
foo-1.2-RC1
-      </pre></div>
-
-        
-<p>Edit the version fields in the POMs to remove the -SNAPSHOT, for example
-        using Maven's version plugin.</p>
-      
-<div>
-<pre>
-      mvn versions:set -DnewVersion=1.2 -DgenerateBackupPoms=false
-      </pre></div>
-
-        
-        
-<p>Edit the SCM entries in the POM. Note: use the final tag, without any RC 
suffix.
-        Do <tt>svn diff</tt> and <tt>svn status</tt> to check that the changes 
are OK.
-        These should only show changes to the POMs.</p>
-
-        
-<p>Create the RC tag, by copying the tag workspace to SVN as below. 
-          The tag name should include the component name, as this makes it 
easier to distinguish checkouts.
-          Try to follow the existing naming convention so the tag names will 
sort in a reasonable order.
-          For example NET uses NET_M_N_RC1, and LANG has a similar convention.
-          For an example of how <b>not</b> to do it, see 
https://svn.apache.org/repos/asf/commons/proper/io/tags/
-          The IO tags don't sort properly.
-        </p>
-
-      
-<div>
-<pre>
-      svn copy foo-1.2-RC1 -m &quot;Creating foo-1.2-RC1 tag&quot; 
https://svn.apache.org/repos/asf/commons/proper/foo/tags/foo-1.2-RC1
-      </pre></div>
-
-      
-<p>
-        Do NOT check the updated workspace back into the development trunk.
-        It's important to only have SNAPSHOT versions in trunk; only tags 
should have non-SNAPSHOT versions.
-        Also, by leaving trunk unchanged, nothing needs to be reverted if the 
RC vote fails and the Rc needs to be re-rolled.
-      </p>
-      </div>
-<div class="section">
-<h4>Maven Release Plugin<a name="Maven_Release_Plugin"></a></h4>
-        
-<p>When using the release plugin, please verify that your poms will not lose 
content when they are rewritten during the
-          release process.</p>
-
-        
-<p>Inside the branch you are cutting the release from start with</p>
-      
-<div>
-<pre>
-      mvn release:prepare -DdryRun=true
-        </pre></div>
-
-        
-<p>Diff the original file <tt>pom.xml</tt> with the one called 
<tt>pom.xml.tag</tt> to see if the license or
-          any other info has been removed. This has been known to happen if 
the starting <tt>&lt;project&gt;</tt> tag
-          is not on a single line. The only things that should be different 
between these files are the <tt>&lt;version&gt;</tt>
-          and <tt>&lt;scm&gt;</tt> elements. Any other changes, you must 
backport yourself to the original
-          <tt>pom.xml</tt> file and commit before proceeding with the 
release.</p>
-
-        
-<p>Remember to do <tt>mvn release:clean</tt> before you start the real release 
process.
-          If everything is ok, run:</p>
-      
-<div>
-<pre>  
-      mvn release:prepare
-      </pre></div>
-
-      
-<p>
-        The Maven release:prepare goal updates the trunk tag to the next 
SNAPSHOT release. 
-        If the RC vote fails, this will need to be reverted before re-rolling 
the RC.
-        (the manual method described above avoids this problem)
-      </p>
-      
-    </div></div>
-    
-<div class="section">
-<h3><a name="Create_the_Release_Candidate"></a>Create the Release 
Candidate</h3>
-        
-        
-<p>
-    Build distributions from a fresh checkout of the RC tag.
-    Build the code with the target version of Java if possible.<br />
-    If the version of Maven you are using requires a more recent version of 
Java than the code you are
-    building, then use the appropriate <tt>java-1.x</tt> profile to ensure 
that compilation and testing is done
-    with the correct Java version. This will catch any accidental use of 
methods etc. that are not in
-    the target Java version libraries. 
-    See <a 
href="../commons-parent-pom.html#Testing_with_different_Java_versions">Testing 
with different Java versions</a>
-    for further details.
-    (the compiler.source and compiler.target versions only affect source 
syntax and class file format)
-    </p>
-
-    
-<p>To create all distributables and upload the Maven artifacts to the <a 
class="externalLink" href="http://repository.apache.org";>ASF Nexus instance</a> 
run
-      </p>
-<div>
-<pre>
-        mvn deploy -Prelease [-Pjava-1.x]
-      </pre></div>
-      If you want to do a test deployment first, you can add the following 
option:
-      
-<div>
-<pre>
-        mvn deploy -Prelease -Ptest-deploy [-Pjava-1.x]
-      </pre></div>
-      The &quot;test-deploy&quot; profile uploads the artifacts to 
target/deploy instead of Nexus so one can check all the required files
-      have been created with the expected contents.
-      Best to run &quot;mvn clean&quot; before doing the live deployment.
-      Again remember to use <tt>-Duser.name=&lt;your apache ID&gt;</tt> to 
make sure the <tt>Built-By</tt> MANIFEST header is correct.
-      
-      
-<p>This will PGP-sign all artifacts and upload them to a new staging 
repository, Nexus itself will create MD5
-        and SHA1 checksums for all files that have been uploaded.</p>
-      
-<p>A known problem is that gpg signing may fail if the gpg plugin tries to 
read the passphrase interactively.
-        It works if you specify the passphrase when invoking mvn 
(<tt>-Dgpg.passphrase=***</tt>) or run
-        <tt>gpg-agent</tt> before starting mvn.</p>
-      
-<p>Unfortunately this uploads more than should be part of the Maven 
repository, in particular the binary and source
-        distribution <tt>.tar.gz</tt> and <tt>.zip</tt> files are there as 
well.  Before you
-        <a class="externalLink" 
href="http://www.apache.org/dev/publishing-maven-artifacts.html#close-stage";>close</a>
 the staging
-        repository you must remove the tarballs/zips together with their PGP 
signatures and checksums using
-        the Nexus web interface.  While
-        you are at it you can also remove the checksums Nexus created for the 
PGP signatures of the
-        remaining artifacts, they are not needed at all.</p>
-      
-<p><i>If anybody knows how we can avoid uploading the distributions, please 
lend a hand.  The manual step is
-        not only annoying, uploading the files also wastes time and 
bandwidth.</i></p>
-      
-<p>Once the unneeded files have been deleted you can now close the staging 
repository.</p>
-      
-<p>The tarballs and zips need to go to
-        <a class="externalLink" 
href="https://dist.apache.org/repos/dist/dev/commons/";>https://dist.apache.org/repos/dist/dev/commons/</a>.
  If
-        this is the first release of foo after svnpubsub has been enabled you 
have to create the directory
-        structure for your component.</p>
-      
-<div>
-<pre>
-        svn mkdir -m &quot;Creating initial directory structure for foo&quot; 
https://dist.apache.org/repos/dist/dev/commons/foo
-        svn mkdir -m &quot;Creating initial directory structure for foo&quot; 
https://dist.apache.org/repos/dist/dev/commons/foo/binaries
-        svn mkdir -m &quot;Creating initial directory structure for foo&quot; 
https://dist.apache.org/repos/dist/dev/commons/foo/source
-      </pre></div>
-      
-<p>Then check out <tt>https://dist.apache.org/repos/dist/dev/commons/foo</tt> 
and copy the tarballs, checksums and 
-        PGP signatures to the appropriate directories.  You can find those 
artifacts inside your local Maven repository.
-        The procedure will be something like (where <tt>release_path</tt> 
points to your working copy of the dist repository):</p>
-      
-<div>
-<pre>
-        version=1.2
-        repo_path=~/.m2/repository/org/apache/commons/commons-foo/${version}
-        release_path=~/foo-release
-        mkdir -p ${release_path}/binaries
-        mkdir -p ${release_path}/source
-        cp ${repo_path}/*.bin.zip* ${release_path}/binaries
-        cp ${repo_path}/*.bin.tar.gz* ${release_path}/binaries
-        cp ${repo_path}/*.src.zip* ${release_path}/source
-        cp ${repo_path}/*.src.tar.gz* ${release_path}/source
-        cp RELEASE-NOTES.txt ${release_path}
-      </pre></div>
-      
-<p><tt>svn add</tt> the files and commit them.  Again, record the revision 
number for the vote email.</p>
-    </div>
-
-    
-<div class="section">
-<h3><a name="Create_the_Release_Candidate_Website"></a>Create the Release 
Candidate Website</h3>
-    
-<p>
-    The new website should be published in your home directory on 
people.apache.org.
-    For example:
-    </p>
-<div>
-<pre>
-      mvn site [-Pjacoco] [-Pcobertura]
-    </pre></div>
-     The optional &quot;jacoco&quot; and &quot;cobertura&quot; profiles are 
used to select the appropriate code coverage tool if required.
-     Then tar or zip the site in target/site and scp and unpack the files
-      on people.apache.org in a directory <tt>~/public_html/foo-1.2-RC1</tt>.
-    
-    
-<p>
-    Note that when verifying this candidate site you need to be careful of 
absolute
-    URLs; following these will lead to the currently published site, not to the
-    equivalent page on the new site being evaluated.
-    </p>
-    </div>
-  </div>
-
-  
-<div class="section">
-<h2><a name="Voting_On_Release"></a>Voting On Release</h2>
-    
-<div class="section">
-<h3><a name="aVOTE_Release_Foo_1.2_based_on_RC1"></a>[VOTE] Release Foo 1.2 
based on RC1</h3>
-        
-<p>
-        Once the release candidate has been created and uploaded, now it's 
time to propose the release VOTE.
-        </p>
-        
-<p>
-        Post a <tt>[VOTE] Release Foo 1.2 based on RC1</tt> email to 
<b>d...@commons.apache.org</b>.
-        This should include links to minimally the distributions, site, tag 
and KEYS.  Here is an example release VOTE message body:
-        </p>
-<div>
-<pre>
-  We have fixed quite a few bugs and added some significant enhancements since 
Foo 1.1 was released,
-  so I would like to release Foo 1.2.
-
-  Foo 1.2 RC1 is available for review here:
-    https://dist.apache.org/repos/dist/dev/commons/foo/ (svn revision XYZ)
-
-  Maven artifacts are here:
-    
https://repository.apache.org/content/repositories/orgapachecommons-ABC/org/apache/commons/commons-foo/1.2/
-
-  Details of changes since 1.1 are in the release notes:
-    https://dist.apache.org/repos/dist/dev/commons/foo/RELEASE-NOTES.txt
-    http://people.apache.org/~luckyrm/foo-1.2-RC1/changes-report.html
-
-  I have tested this with JDK 1.3, 1.4, 1.5 and 1.6 using maven2.
-
-  The tag is here:
-    http://svn.apache.org/repos/asf/commons/proper/foo/tags/FOO_1_2_RC1/ (svn 
revision)
-  N.B. the SVN revision is required because SVN tags are not immutable.
-
-  Site:
-    http://people.apache.org/~luckyrm/foo-1.2-RC1/
-  (note some *relative* links are broken and the 1.2 directories are
-  not yet created - these will be OK once the site is deployed)
-
-  Clirr Report (compared to 1.1):
-    http://people.apache.org/~luckyrm/foo-1.2-RC1/clirr-report.html
-
-  RAT Report:
-    http://people.apache.org/~luckyrm/foo-1.2-RC1/rat-report.html
-
-  KEYS:
-  https://www.apache.org/dist/commons/KEYS
-          
-  Please review the release candidate and vote.
-  This vote will close no sooner that 72 hours from now, i.e. after 0400 GMT 
31-March 2010
-
-  [ ] +1 Release these artifacts
-  [ ] +0 OK, but...
-  [ ] -0 OK, but really should fix...
-  [ ] -1 I oppose this release because...
-
-  Thanks!
-
-  Lucky RM </pre></div>
-        
-        
-<p>
-        Votes from members of the Commons PMC are binding, however votes from 
other committers, users and 
-        contributors are welcomed.
-        If the <tt>[VOTE]</tt> is successful then continue. Release VOTEs 
should be left open for a
-        minimum of 72 hours so community members have ample opportunity to 
download, review and test the
-        release candidate.  It is a good practice to, as above, specify the 
closing time of the VOTE in
-        the VOTE message. 
-        </p>
-    
-<p>
-    If the vote fails, then fix the problem and create a new release candidate 
(including creating another tag;
-    tags are cheap!). Then call another vote. Creating a perfect release isn't 
easy, and it is quite common for
-    the first few release candidates to fail, particularly on simple issues 
like missing license files. Don't
-    take negative feedback on RCs personally.  The release belongs to the 
community and we are all accountable
-    for anything wrong or lacking in the code we release. That's why 
suggestions for improvement are more often than not
-    accompanied by patches and/or commits to fix problems.  Always start a new 
VOTE thread to vote on a new RC.
-    </p>
-        
-<p>
-        Once a vote is successful, post a <tt>[RESULT] Release Foo 1.2</tt> 
email to 
-        <b>d...@commons.apache.org</b> as a reply to the original posting.
-        This email should contain a summary of the voters/votes that were 
cast, eg
-        </p>
-<div>
-<pre>
-        The following people voted on release Foo 1.2:
-        Bob +1
-        Sue +1
-        Sam +0
-        Sandy +1 (non-binding) </pre></div>
-        
+    If the code is targetted at Java 7 or before, check that the Javadoc can 
still be created using Javadoc 8.
+    Javadoc 8 is a lot stricter about the syntax. Ideally fix all the syntax 
errors. However if this is not
+    feasible in the time-scale, consider adding a temporary profile to the pom 
to disable the stricter checking:
+    <tt>
+      
+        <!-- Temporary hack to suppress Javadoc 8 errors -->
+        <!-- to re-enable the checks, build with -P-javadoc_8 -->
+        javadoc_8
         
-<p>
-        Note that binding the VOTEs recorded need to be clearly designated in 
the RESULT.
-        This may be done by either stating only the binding votes (and 
indicating that to be the case)
-        or by adding <tt>(non-binding)</tt> to those which are not.
-        It is best practice to indicate how each person voted. 
-        This allows any mistakes to be caught and corrected early.
-        If you do vote, please check the results to ensure that your vote has 
been correctly tallied.
-        </p>
-    
-<p>
-    During the course of the VOTE, make sure that one or more of the reviewers 
have verified the signatures
-    and hash files included with the release artifacts.  If no one 
specifically mentions having done that during
-    the VOTE, ask on the dev list and make sure someone does this before you 
proceed with the release.
-    </p>
-    </div>
-  </div>
-
-  
-<div class="section">
-<h2><a 
name="Things_To_Look_For_When_Inspecting_A_Release_Candidate"></a>Things To 
Look For When Inspecting A Release Candidate</h2>
-    
-<p>
-    There are a number of common things that releases fail on. 
-    </p>
-
-    
-<div class="section">
-<h3><a name="API_Changes"></a>API Changes</h3>
-    
-<p>
-      Accidental non-compatible API changes in a minor release. The clirr 
report
-      generated by Maven is very useful in spotting these.
-    </p>
-    </div>
-
-    
-<div class="section">
-<h3><a name="Javadoc"></a>Javadoc</h3>
-    
-<ul>
-    
-<li>Ensure that the Javadoc tool reports no warnings or errors.</li>
-    
-<li>Ensure that all new classes and methods have appropriate @since Javadoc 
tags.</li>
-    </ul>
-    </div>
-
-    
-<div class="section">
-<h3><a name="Code_Style"></a>Code Style</h3>
-    
-<p>
-    Many projects enforce coding styles using the CheckStyle or PMD tools. If 
your
-    project does this, don't forget to check the output and fix any problems.
-    </p>
-    </div>
-
-    
-<div class="section">
-<h3><a name="Class_File_Format"></a>Class File Format</h3>
-    <a name="classfileformat"></a>
-    
-<p>
-      Building on a more recent JVM than the code will run on. Java class file
-      format has changed a number of times over the years, and code compiled 
with
-      a modern JVM may fail to load in an older JVM with the error message
-      &quot;invalid class file format&quot; unless the code is compiled with 
appropriate
-      options set. If you are using Maven, then ensure that your pom
-      has maven.compile.target set to the minimum JVM version your binary is
-      intented to support. If you are using Ant, then ensure that the javac 
task
-      has xml attribute &quot;target&quot; is set to the appropriate JVM 
version.
-    </p>
-    
-<p><b>Maven Build</b></p>
-    
-<p>
-    The Maven build has been modified to include two <b><i>non 
standard</i></b> attributes
-    in the jar's manifest to indicate the <tt>maven.compile.source</tt> and 
-    <tt>maven.compile.target</tt> properties used to create the jar. This 
serves two purposes:
-      </p>
-<ul>
-         
-<li>To provide comfort to users regarding JVM compatibility.</li>
-         
-<li>Enable releases to be checked more easily for JVM compatibility.</li>
-      </ul>
-    
-    
-<p>The entries created in the manifest will look something like the following:
-    </p>
-<div>
-<pre>
-      X-Compile-Source-JDK: 1.3
-      X-Compile-Target-JDK: 1.3
-    </pre></div>
-    These values should be checked to ensure that the release has been built 
for the appropriate JVM.
-    If they are not present or no values are specified then the 
<tt>Build-Jdk</tt> entry should
-    be checked to ensure the release has been built with the appropriate JDK.
-    
-    </div>
-
-    
-<div class="section">
-<h3><a name="Licensing"></a>Licensing</h3>
-    
-<p>
-    The NOTICE.txt file must be included in both the distribution tars/zips 
and the
-    included jars.
-    </p>
-    
-<p>
-    Maven builds default to including this, so no further effort is required
-    for those projects.
-    </p>
-    </div>
-  </div>
-
-  
-<div class="section">
-<h2><a name="What_next"></a>What next?</h2>
-    
-<div class="section">
-<h3><a name="Vote_succeded"></a>Vote succeded</h3>
-      
-<p>
-        If the vote succeeded, please see the page <a 
href="release.html">Publishing the Release</a>
-      </p>
-    </div>
-
-    
-<div class="section">
-<h3><a name="Vote_failed"></a>Vote failed</h3>
-      
-<p>
-        If the vote failed, there are various items to tidy up.
-        </p>
-<ul>
-          
-<li>Drop the Nexus Staging repository.</li>
-          
-<li>Delete and files in the dist/dev area.</li>
-          
-<li>Do not delete the SVN tag yet unless the release has been completely 
abandoned. It can be useful for reviewers to have access to the previous 
tag</li>
-        </ul>
-        If a new RC is to be created, restart the process as described above.
-      
-    </div>
-  </div>
-
-   
-<div class="section">
-<h2><a name="Feedback"></a>Feedback</h2>
+          [1.8,)
         
-<p>
-        Feedback - yes please! 
-        </p>
         
-<p>
-        Comments, critiques and error reports -
-        post them any and all to the dev mailing list at commons.apache.org. 
Please prefix with [doc].
-        </p>
-  </div>
- 
-
                                        </td>
                                </tr>
                        </table>


Reply via email to