Author: britter
Date: Tue Jan 6 18:46:57 2015
New Revision: 1649900
URL: http://svn.apache.org/r1649900
Log:
Replace tabs with spaces
Modified:
commons/cms-site/trunk/content/xdoc/releases/prepare.xml
Modified: commons/cms-site/trunk/content/xdoc/releases/prepare.xml
URL:
http://svn.apache.org/viewvc/commons/cms-site/trunk/content/xdoc/releases/prepare.xml?rev=1649900&r1=1649899&r2=1649900&view=diff
==============================================================================
--- commons/cms-site/trunk/content/xdoc/releases/prepare.xml (original)
+++ commons/cms-site/trunk/content/xdoc/releases/prepare.xml Tue Jan 6
18:46:57 2015
@@ -25,12 +25,12 @@
<body>
<section name='Introduction'>
- <p>
- This document contains a mixture of information, advice and examples.
- It is intended to be a recommendation of best practices for Commons
components.
- The instructions provided here are consistent with, but not a
replacement for
- the <a href="http://www.apache.org/dev/release.html">ASF Release
Guidelines.</a>
- </p>
+ <p>
+ This document contains a mixture of information, advice and examples.
+ It is intended to be a recommendation of best practices for Commons
components.
+ The instructions provided here are consistent with, but not a replacement
for
+ the <a href="http://www.apache.org/dev/release.html">ASF Release
Guidelines.</a>
+ </p>
<p>The Apache Commons project uses the Nexus installation at the Apache
Software Foundation to stage Maven artifacts
before the release and later publish them; the Commons Parent POM contains
all the necessary configuration.
This guide covers deploying to Nexus using Maven. For alternatives see
@@ -129,19 +129,19 @@
</p>
</subsection>
<subsection name='Check Compatibility'>
- <p>
+ <p>
Consult the <a href='versioning.html'>Commons Versioning Guidelines</a>
and check
that the current level of compatibility is suitable for the proposed
version number.
Check the current level of compatibility in the code. Tools like
<a href='http://clirr.sourceforge.net'>Clirr</a> and
<a href='http://www.jdiff.org'>JDiff</a> are very useful. Both support Ant
and Maven.
- </p>
+ </p>
</subsection>
<subsection name='Check Javadocs And Code Style'>
- <p>
+ <p>
Ensure all new classes and methods have <code>@since</code> tags.
Compatibility reports produced in the last section may prove helpful.
- </p>
+ </p>
<p>
Ensure no errors or warnings are reported by the Javadoc tool.
Check that the Javadocs have the correct version number.
@@ -244,21 +244,21 @@
<subsection name='Prepare Release Notes'>
<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
+ 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>
<p>
- Components that use the Maven changes plugin and changes.xml to track
changes can generate
- a "starter" release notes document by supplying a custom Velocity
template to the Maven
- announcements plugin:
- <pre>
+ Components that use the Maven changes plugin and changes.xml to track
changes can generate
+ a "starter" release notes document by supplying a custom Velocity template
to the Maven
+ announcements plugin:
+ <pre>
mvn changes:announcement-generate
mv target/announcement/foo-release-notes.vm RELEASE-NOTES.txt </pre></p>
<p>The Commons Parent pom has a "release-notes" profile which
automatically sets the output
@@ -276,15 +276,15 @@
and the Velocity template, <code>foo-release-notes.vm</code> needs to be
defined in
<code>src/changes</code>. If you want to put it into a different directory
you also want to set the <code>templateDirectory</code> property.</p>
- <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>
+ <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>
</subsection>
<subsection name='Check the commit log'>
- <p>
+ <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
@@ -309,59 +309,59 @@
cd ..
svn log -v -rNNNN:HEAD trunk > commits-since-last-release.txt
</pre>
- </p>
- <p>
+ </p>
+ <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 "svn diff" instead of "svn log -v" 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>
+ Using "svn diff" instead of "svn log -v" 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 "svn diff".
- Enhancements and new features need to be collated by topic.
+ this may require inspecting the actual changes using "svn diff".
+ 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 "svn log" output, only
revision numbers should
- be used with the -r option. See issue #752 in the subversion issue
tracker at tigris.org.
- </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 "svn log" output, only
revision numbers should
+ be used with the -r option. See issue #752 in the subversion issue
tracker at tigris.org.
+ </p>
</subsection>
<subsection name='Test Against Listed Dependencies'>
- <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 <code>pom.xml</code> file.
+ <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 <code>pom.xml</code> 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
<code>java-1.x</code> profile.
See <a
href="../commons-parent-pom.html#Testing_with_different_Java_versions">Testing
with different Java versions</a>
for further details.
- </p>
+ </p>
<p>
If you are using Ant to execute unit tests, then ensure the Ant
<code>build.xml</code> file
- references the same library versions as are listed as dependencies in
the <code>pom.xml</code>
- file then execute the unit tests.
- </p>
+ references the same library versions as are listed as dependencies in the
<code>pom.xml</code>
+ file then execute the unit tests.
+ </p>
</subsection>
<subsection name='Check the Apache License'>
@@ -411,9 +411,9 @@
<subsection name='Check NOTICE.txt'>
<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:
+ 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>
<pre>
Apache Commons {Foo}
@@ -511,7 +511,7 @@
<subsection name="Create the Release Candidate">
<p>
- Build distributions from a fresh checkout of the RC tag.
+ 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 <code>java-1.x</code> profile to ensure
that compilation and testing is done
@@ -579,7 +579,7 @@
<subsection name='Create the Release Candidate Website'>
<p>
- The new website should be published in your home directory on
people.apache.org.
+ The new website should be published in your home directory on
people.apache.org.
For example:
<pre>
mvn site [-Pjacoco] [-Pcobertura]
@@ -587,12 +587,12 @@
The optional "jacoco" and "cobertura" 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
<code>~/public_html/foo-1.2-RC1</code>.
- </p>
- <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>
+ </p>
+ <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>
</subsection>
</section>
@@ -658,19 +658,19 @@
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
+ <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>
<p>
Once a vote is successful, post a <code>[RESULT] Release Foo
1.2</code> email to
<strong>[email protected]</strong> as a reply to the original
posting.
This email should contain a summary of the voters/votes that were
cast, eg
- <pre>
+ <pre>
The following people voted on release Foo 1.2:
Bob +1
Sue +1