summaryrefslogtreecommitdiff
path: root/ReleaseInstructions
diff options
context:
space:
mode:
Diffstat (limited to 'ReleaseInstructions')
-rw-r--r--ReleaseInstructions125
1 files changed, 62 insertions, 63 deletions
diff --git a/ReleaseInstructions b/ReleaseInstructions
index a14b8c3bb..90b8c6d3e 100644
--- a/ReleaseInstructions
+++ b/ReleaseInstructions
@@ -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.