| @@ -5,8 +5,9 @@ Authors: Conor MacNeill | |||||
| Magesh Umasankar | Magesh Umasankar | ||||
| Antoine Levy-Lambert | Antoine Levy-Lambert | ||||
| Note: This document was updated in the context of releasing Ant | |||||
| 1.9.7 which was the first release cut from the 1.9.x branch. | |||||
| Note: This document was adapted from the one created in the context of | |||||
| releasing Ant 1.9.7. It assumes the first release created from | |||||
| master will be 1.10. | |||||
| Please interpret the branch names, tags, etc. according to | Please interpret the branch names, tags, etc. according to | ||||
| your context. | your context. | ||||
| @@ -31,7 +32,7 @@ Note: This document was updated in the context of releasing Ant | |||||
| 2. Ensure you have all the external libraries that Ant uses in your | 2. Ensure you have all the external libraries that Ant uses in your | ||||
| lib/optional directory. All dependencies are either provided by | lib/optional directory. All dependencies are either provided by | ||||
| JDK 1.5.0 or downloadable using | |||||
| JDK 1.8.0 or downloadable using | |||||
| ant -f fetch.xml -Ddest=optional | ant -f fetch.xml -Ddest=optional | ||||
| To find out whether you have all the libraries you need, execute | To find out whether you have all the libraries you need, execute | ||||
| the build with -verbose option and scan for lines beginning with | the build with -verbose option and scan for lines beginning with | ||||
| @@ -40,9 +41,9 @@ Note: This document was updated in the context of releasing Ant | |||||
| 3. We don't want tags for failed votes to end up on out branches so | 3. We don't want tags for failed votes to end up on out branches so | ||||
| the release is first created from a detached head. | the release is first created from a detached head. | ||||
| Checkout the HEAD of the 1.9.x branch as a detached head: | |||||
| Checkout the HEAD of the master branch as a detached head: | |||||
| $ git checkout 1.9.x^0 | |||||
| $ git checkout master^0 | |||||
| 4. Make sure that your directory tree is clean by running git status. | 4. Make sure that your directory tree is clean by running git status. | ||||
| Some tests leave behind leftovers which end up in the source | Some tests leave behind leftovers which end up in the source | ||||
| @@ -57,7 +58,7 @@ Note: This document was updated in the context of releasing Ant | |||||
| * POM files under src/etc/poms and subdirectories | * POM files under src/etc/poms and subdirectories | ||||
| if you've got mvn installed | if you've got mvn installed | ||||
| $ mvn versions:set -DnewVersion=1.9.7 -DgenerateBackupPoms=false | |||||
| $ mvn versions:set -DnewVersion=1.10.0 -DgenerateBackupPoms=false | |||||
| inside src/etc/poms should do the trick. | inside src/etc/poms should do the trick. | ||||
| @@ -82,11 +83,11 @@ Note: This document was updated in the context of releasing Ant | |||||
| $ ./dist/bin/ant -nouserlib -lib lib/optional distribution | $ ./dist/bin/ant -nouserlib -lib lib/optional distribution | ||||
| build.xml specifies that the code should be compiled with | build.xml specifies that the code should be compiled with | ||||
| source=1.5 and target=1.5. | |||||
| source=1.8 and target=1.8. | |||||
| 8. Commit your changes, tag them, push them. | 8. Commit your changes, tag them, push them. | ||||
| $ git tag -s -m "Tagging RC1 for version 1.9.7 of Ant" ANT_197_RC1 | |||||
| $ git tag -s -m "Tagging RC1 for version 1.10.0 of Ant" ANT_1.10.0_RC1 | |||||
| $ git push | $ git push | ||||
| $ git push --tags | $ git push --tags | ||||
| @@ -146,12 +147,12 @@ Note: This document was updated in the context of releasing Ant | |||||
| This target generates a file build/html/WHATSNEW.html | This target generates a file build/html/WHATSNEW.html | ||||
| Add an html head element with a title like "Release Notes of Apache Ant | Add an html head element with a title like "Release Notes of Apache Ant | ||||
| 1.9.7" (from the default txt2html) | |||||
| 1.10.0" (from the default txt2html) | |||||
| Cut all sections about previous releases to keep only the current release, | Cut all sections about previous releases to keep only the current release, | ||||
| and save as RELEASE-NOTES-1.9.7.html inside the distribution folder. | |||||
| and save as RELEASE-NOTES-1.10.0.html inside the distribution folder. | |||||
| Copy the file RELEASE-NOTES-1.9.7.html also as README.html | |||||
| Copy the file RELEASE-NOTES-1.10.0.html also as README.html | |||||
| 12. The distribution is now ready to go. | 12. 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 | Create a SVN sandbox on your computer with https://dist.apache.org/repos/dist/dev/ant in it | ||||
| @@ -195,7 +196,7 @@ Note: This document was updated in the context of releasing Ant | |||||
| 16. Once the vote has passed, tag the last RC created with the final tag | 16. Once the vote has passed, tag the last RC created with the final tag | ||||
| $ git tag -s -m "Tagging version 1.9.7 of Ant" rel/1.9.7 HASH_OF_LAST_RC | |||||
| $ git tag -s -m "Tagging version 1.10.0 of Ant" rel/1.10.0 HASH_OF_LAST_RC | |||||
| $ git push --tags | $ git push --tags | ||||
| 17. The distrib artifacts should be published the apache dist. It is | 17. The distrib artifacts should be published the apache dist. It is | ||||
| @@ -223,36 +224,36 @@ Note: This document was updated in the context of releasing Ant | |||||
| https://reporter.apache.org/addrelease.html?ant | https://reporter.apache.org/addrelease.html?ant | ||||
| 19. Address the available version tags in BugZilla. Create new | 19. Address the available version tags in BugZilla. Create new | ||||
| milestone 1.9.8 and version 1.9.7. | |||||
| milestone 1.10.1 and version 1.10.0. | |||||
| 20. Add a new release tag to doap_Ant.rdf in Ant's site. | 20. Add a new release tag to doap_Ant.rdf in Ant's site. | ||||
| 21. checkout the 1.9.x branch, merge the tag but don't push the | |||||
| 21. checkout the master branch, merge the tag but don't push the | |||||
| commit | commit | ||||
| $ git checkout 1.9.x | |||||
| $ git merge rel/1.9.7 | |||||
| $ git checkout master | |||||
| $ git merge rel/1.10.0 | |||||
| Set the version number in several files to the required version of | Set the version number in several files to the required version of | ||||
| the next 1.9.x release. These are: | |||||
| the next 1.10.x release. These are: | |||||
| * manual/cover.html | * manual/cover.html | ||||
| * manual/credits.html | * manual/credits.html | ||||
| * build.xml properties : project.version,manifest-version,pom.version | * build.xml properties : project.version,manifest-version,pom.version | ||||
| project.version property in build.xml gets bumped to | project.version property in build.xml gets bumped to | ||||
| [newversion]alpha, for example 1.9.8alpha | |||||
| [newversion]alpha, for example 1.10.1alpha | |||||
| manifest-version gets bumped to the exact next release number | manifest-version gets bumped to the exact next release number | ||||
| for example 1.9.8. | |||||
| for example 1.10.1. | |||||
| pom.version gets bumped to [newversion]-SNAPSHOT | pom.version gets bumped to [newversion]-SNAPSHOT | ||||
| for example 1.9.8-SNAPSHOT. | |||||
| for example 1.10.1-SNAPSHOT. | |||||
| * POM files under src/etc/poms and subdirectories | * POM files under src/etc/poms and subdirectories | ||||
| if you've got mvn installed | if you've got mvn installed | ||||
| $ mvn versions:set -DnewVersion=1.9.8-SNAPSHOT -DgenerateBackupPoms=false | |||||
| $ mvn versions:set -DnewVersion=1.10.1-SNAPSHOT -DgenerateBackupPoms=false | |||||
| inside src/etc/poms should do the trick. | inside src/etc/poms should do the trick. | ||||
| @@ -266,15 +267,9 @@ Note: This document was updated in the context of releasing Ant | |||||
| $ git commit -a --amend | $ git commit -a --amend | ||||
| $ git push | $ git push | ||||
| 22. checkout the master branch, merge the 1.9.x branch | |||||
| $ git checkout master | |||||
| $ git merge 1.9.x | |||||
| $ git push | |||||
| 22. wait a few hours for the mirrors to catch up | |||||
| 23. wait a few hours for the mirrors to catch up | |||||
| 24. Update the ant.apache.org site : | |||||
| 23. Update the ant.apache.org site : | |||||
| The website is managed here: https://svn.apache.org/repos/asf/ant/site/ant/ | The website is managed here: https://svn.apache.org/repos/asf/ant/site/ant/ | ||||
| @@ -282,6 +277,10 @@ Note: This document was updated in the context of releasing Ant | |||||
| the site still uses svn and Ant proper uses git there currently is | the site still uses svn and Ant proper uses git there currently is | ||||
| no way to use the scm for this. | no way to use the scm for this. | ||||
| [TODO once there is the first release of 1.10.0, we'll likely need | |||||
| to restructure the site to allow two versions of the manual to | |||||
| exist in parallel] | |||||
| Update the following files for version number: | Update the following files for version number: | ||||
| * source/antnews.xml (Announcement) | * source/antnews.xml (Announcement) | ||||
| @@ -296,17 +295,20 @@ Note: This document was updated in the context of releasing Ant | |||||
| Commit the modified/generated files in the 'production' folder, it will go | Commit the modified/generated files in the 'production' folder, it will go | ||||
| live on ant.apache.org in a matter on seconds. | live on ant.apache.org in a matter on seconds. | ||||
| 25. At this point in time, the release is done and announcements are made. | |||||
| 24. At this point in time, the release is done and announcements are made. | |||||
| PGP-sign your announcement posts. | PGP-sign your announcement posts. | ||||
| Apache mailing lists that should get the announcements: | Apache mailing lists that should get the announcements: | ||||
| announce@apache.org, dev@ant and user@ant. | announce@apache.org, dev@ant and user@ant. | ||||
| 26. You can now reacquaint yourself with your family and friends. | |||||
| 25. You can now reacquaint yourself with your family and friends. | |||||
| 27. After a few days "svn rm" the older release artifacts and release | |||||
| 26. After a few days "svn rm" the older release artifacts and release | |||||
| notes from https://dist.apache.org/repos/dist/release/ant/ | notes from https://dist.apache.org/repos/dist/release/ant/ | ||||
| "older" here means any older 1.10.x release but not the latest | |||||
| 1.9.x release. | |||||
| Related Information | Related Information | ||||
| http://www.apache.org/dev/#releases | http://www.apache.org/dev/#releases | ||||