Browse Source

update ReleaseInstructions

git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@1553153 13f79535-47bb-0310-9956-ffa450edef68
master
Antoine Levy-Lambert 11 years ago
parent
commit
df6777ddd6
1 changed files with 62 additions and 63 deletions
  1. +62
    -63
      ReleaseInstructions

+ 62
- 63
ReleaseInstructions View File

@@ -5,7 +5,7 @@ Authors: Conor MacNeill
Magesh Umasankar
Antoine Levy-Lambert

Note: This document was updated in the context of releasing Ant 1.7.
Note: This document was updated in the context of releasing Ant 1.9.3.
Please interpret the branch names, tags, etc. according to
your context.

@@ -27,30 +27,18 @@ Note: This document was updated in the context of releasing Ant 1.7.
particularly the release manager will need to make judgement calls here.
Anything too "big" is likely to be held over.

3. Once the freeze date arrives, create a branch for the release builds,
if this was decided in the release vote. This was done for Ant 1.6,
but not for Ant 1.7, nor for Ant 1.8.
3. We used until Ant 1.6 to create branches, for instance ANT_16_BRANCH
to allow parallel development on trunk and on the current branch.

You will need to be comfortable in handling SVN branches with multiple
merge-backs to the main branch and even selected merges from the the main
branch to the release branch.
In the case of parallel development on a branch and on trunk, the project
version would be x.y+1 on trunk and x.y on the branch, for instance 2.0.alpha on trunk
and 1.9.xbeta on the branch.

For more information on performing branching and merging, please visit
http://svnbook.red-bean.com/nightly/en/svn-book.html

Label such branches ANT_16_BRANCH.

4. Once the branch is setup, the version numbers in SVN are changed. On the
branch, the project.version property in build.xml becomes 1.7Beta.

If there were a main branch, its build.xml would have 1.8alpha.

[[ TODO: Check if the documentation files also need to be updated to point
to the right areas of Ant's website. ]]

5. Before a build :

the first beta on the 1.7 branch has been called 1.7.0Beta1, ...
4. Before a build :

the project.version property in build.xml governs the output of
ant -version and the naming of the distribution files.
@@ -59,7 +47,7 @@ Note: This document was updated in the context of releasing Ant 1.7.
see at the end of this document the list of files containing version information

6. Ensure you have all the external libraries that Ant uses in your
5. Ensure you have all the external libraries that Ant uses in your
lib/optional directory. All dependencies are either provided by
JDK 1.5.0 or downloadable using
ant -f fetch.xml -Ddest=optional.
@@ -67,25 +55,22 @@ Note: This document was updated in the context of releasing Ant 1.7.
the build with -verbose option and scan for lines beginning with
"Unable to load...".

7. Make sure that your directory tree is clean by running svn status.
6. Make sure that your directory tree is clean by running svn status.
Some tests leave behind leftovers which end up in the source
distribution otherwise.

8. Next bootstrap, build and run the tests. Then build the distribution
7. Next bootstrap, build and run the tests. Then build the distribution
on the branch. It is important that this be a clean build. Label this with
a tag ANT_170_B1.
a tag ANT_193.

The file release.sh gives an idea of how to do this build process.
buid.xml specifies that the code should be compiled with source=1.5 and target=1.5.

C:\dev\asf\ant-core>
svn copy https://svn.apache.org/repos/asf/ant/core/trunk \
https://svn.apache.org/repos/asf/ant/core/tags/ANT_170_B1 \
-m "Tagging version 1.7.0Beta1 of Ant"

Revision 437509 Uebertragen.
https://svn.apache.org/repos/asf/ant/core/tags/ANT_193 \
-m "Tagging version 1.9.3 of Ant"

9. Sign the distribution files using the script release/signit.xml
8. Sign the distribution files using the script release/signit.xml

This script requires using commons-openpgp to sign the artefacts,

@@ -106,23 +91,57 @@ Note: This document was updated in the context of releasing Ant 1.7.
Also make sure you have sent the key that you use to a public
keyserver.

10. The beta distribution is now ready to go. Commit it to
https://dist.apache.org/repos/dist/dev/ant

11. Meanwhile, convert the part of the WHATSNEW file covering the changes
9. Convert the part of the WHATSNEW file covering the changes
since the last release into HTML for the README file on the
website. See the previous release directories for examples of these files.
Add instructions and warnings (GNU tar format issues, etc).

Use the target txt2html of docs.xml

Name the generated file RELEASE-NOTES-x.y.z.html.
This target generates a file build/html/WHATSNEW.html

Add an html head element with a title like "Release Notes of Apache Ant
1.9.3" (from the default txt2html)

Cut all sections about previous releases to keep only the current release,
and save as RELEASE-NOTES-1.9.3.html inside the distribution folder.

Copy the file RELEASE-NOTES-1.9.3.html also as README.html

10. The distribution is now ready to go.
Create a SVN sandbox on your computer with https://dist.apache.org/repos/dist/dev/ant in it
Copy the distribution folder to the location of the sandbox.
svn add the files and commit into https://dist.apache.org/repos/dist/dev/ant

11. * upload the maven artifacts located under java-repository/org/apache/ant
these artifacts comprise currently for each ant jar of one POM file, the corresponding jar file
and the corresponding GPG signatures (x.pom, x.jar, x.pom.asc, x.jar.asc)
MD5 and SHA1 are generated by ivy during the upload

to

Change the title to something like "Release Notes of Apache Ant
1.7.0Beta2" (from the default txt2html)
https://repository.apache.org (nexus repository)

12. Once this is committed call for a release vote on dev@ant. The
vote will only pass if at least three PMC members have voted +1
using the build file release/upload.xml

ant -Dupload.user=foo -Dupload.password=secret -lib location_of_ivy_jar -f upload.xml

* after the upload, you need to access the web interface of nexus under https://repository.apache.org
login using your Apache credentials
in the left pane, below "build promotion", click on the "Stagings Repositories" links
expand org.apache.ant
select the checkbox next to the upload that you just did
click the button "Close" on the top of the table listing the uploads
make a note of the location of the staging repository for the vote email


12. Once this is committed send a release vote email on dev@ant.
The email will typically mention :
- the SVN tag for the release including revision number,
- the location of the tarballs, including revision number in dist.apache.org repository
- the URL for the maven artifacts

The vote will only pass if at least three PMC members have voted +1
and more +1s than -1s have been cast. The vote will run for 3 days.

13. Update the files listed at the end of the document (files containing
@@ -138,12 +157,11 @@ Note: This document was updated in the context of releasing Ant 1.7.
available via the archive. To do so, just use the "svn rm" command against
the artifacts or folders to remove.

15. Address the available release tags in BugZilla. Create a new tag 1.7.0Beta1.
If there is a separate main branch, create a 1.8alpha tag.
Assign all existing 1.7 alpha bugs to 1.7.0Beta1.
15. Address the available version tags in BugZilla. Create a new version 1.9.4.
Assign all existing 1.9.3 bugs to 1.9.4.
Note that such massive changes can be done at once by choosing the
link "Change several bugs at once" at the bottom of the bug list
displaying the 1.7alpha bugs.
displaying the 1.9.3 bugs.

16. Once that is done, do a test download to make sure everything is OK. A
common problem may be:
@@ -184,27 +202,11 @@ Note: This document was updated in the context of releasing Ant 1.7.
from distribution
to https://dist.apache.org/repos/dist/release/ant/[source|binaries|manual].

* upload the maven artifacts located under java-repository/org/apache/ant
these artifacts comprise currently for each ant jar of one POM file, the corresponding jar file
and the corresponding GPG signatures (x.pom, x.jar, x.pom.asc, x.jar.asc)
MD5 and SHA1 are generated by ivy during the upload

to

https://repository.apache.org (nexus repository)

using the build file release/upload.xml
ant -Dupload.user=foo -Dupload.password=secret -lib location_of_ivy_jar -f upload.xml

* after the upload, you need to access the web interface of nexus under https://repository.apache.org
* release the maven artifacts using the web interface of nexus under https://repository.apache.org
login using your Apache credentials
select the Staging enterprise repository
in the left pane, below "build promotion", click on the "Stagings Repositories" links
expand org.apache.ant
select the checkbox next to the upload that you just did
click the button "Close" on the top of the table listing the uploads
once this is done, you have to again select your upload in the web interface,
and click the button "Release".
4 hours later, the artefacts will be in the maven central repository.
@@ -251,9 +253,6 @@ Note: This document was updated in the context of releasing Ant 1.7.
24. At this point in time, the release is done and announcements are made.
PGP-sign your announcement posts.

[[TODO: Identify the mailing lists where announcements are to be made.
Also identify the webpages to which the announcements must go. ]]

Apache mailing lists that should get the announcements:
announce@apache.org, dev@ant and user@ant.



Loading…
Cancel
Save