2002-04-09 18:21:09 +00:00
|
|
|
Instructions for making a Release:
|
|
|
|
|
2002-04-17 15:14:15 +00:00
|
|
|
Authors: Conor MacNeill
|
|
|
|
Stefan Bodewig
|
|
|
|
Magesh Umasankar
|
2003-12-20 16:31:45 +00:00
|
|
|
Antoine Levy-Lambert
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
Note: This document was updated in the context of releasing Ant 1.7.
|
2002-04-09 18:21:09 +00:00
|
|
|
Please interpret the branch names, tags, etc. according to
|
|
|
|
your context.
|
|
|
|
|
|
|
|
1. Propose a release plan for vote. This should set out the timetable for
|
2006-09-17 17:19:12 +00:00
|
|
|
the release under ideal circumstances.
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
The issue of whether to create a branch for the release should be
|
|
|
|
discussed in the release vote.
|
2006-09-17 17:19:12 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
The level of bugs reported can delay things. Generally, give a few
|
|
|
|
weeks to "close" the source tree to further changes so people can
|
|
|
|
finalise contributions, etc. At this time, the first beta will be
|
|
|
|
cut and there will be then a period of beta testing, usually 1
|
|
|
|
month but this should be flexible.
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2002-12-13 09:45:03 +00:00
|
|
|
2. Note that any mention of a deadline causes a flood of bug fixes, new tasks,
|
2003-09-30 13:08:00 +00:00
|
|
|
etc. This needs to be managed as best it can. Some fixes will be applied,
|
|
|
|
others held over. Make this clear in the release plan. The committers and
|
|
|
|
particularly the release manager will need to make judgement calls here.
|
2002-04-09 18:21:09 +00:00
|
|
|
Anything too "big" is likely to be held over.
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
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.
|
|
|
|
|
|
|
|
You will need to be comfortable in handling SVN branches with multiple
|
2003-09-30 13:08:00 +00:00
|
|
|
merge-backs to the main branch and even selected merges from the the main
|
|
|
|
branch to the release branch.
|
|
|
|
|
2002-04-09 20:03:51 +00:00
|
|
|
For more information on performing branching and merging, please visit
|
2006-09-17 17:19:12 +00:00
|
|
|
http://svnbook.red-bean.com/nightly/en/svn-book.html
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2003-09-30 13:01:32 +00:00
|
|
|
Label such branches ANT_16_BRANCH.
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
4. Once the branch is setup, the version numbers in SVN are changed. On the
|
2006-10-22 17:11:23 +00:00
|
|
|
branch, the project.version property in build.xml becomes 1.7Beta.
|
2006-09-17 17:19:12 +00:00
|
|
|
|
|
|
|
If there were a main branch, its build.xml would have 1.8alpha.
|
2003-09-30 13:08:00 +00:00
|
|
|
|
|
|
|
[[ TODO: Check if the documentation files also need to be updated to point
|
2002-04-09 18:21:09 +00:00
|
|
|
to the right areas of Ant's website. ]]
|
|
|
|
|
2003-09-30 13:01:32 +00:00
|
|
|
5. Before a build :
|
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
the first beta on the 1.7 branch has been called 1.7.0Beta1, ...
|
2003-09-30 13:01:32 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
the project.version property in build.xml governs the output of
|
|
|
|
ant -version and the naming of the distribution files.
|
2003-09-30 13:01:32 +00:00
|
|
|
|
2003-12-20 16:19:00 +00:00
|
|
|
Update the following files for version number:
|
|
|
|
|
|
|
|
On the branch only :
|
|
|
|
|
|
|
|
* docs/manual/cover.html
|
|
|
|
* docs/manual/credits.html
|
|
|
|
* build.xml (version property & manifest-version property)
|
|
|
|
|
|
|
|
Commit your changes.
|
|
|
|
|
|
|
|
On the branch and on the main trunk (*):
|
|
|
|
|
2005-05-19 12:45:12 +00:00
|
|
|
* WHATSNEW
|
2003-12-20 16:19:00 +00:00
|
|
|
* xdocs/antnews.xml (Announcement)
|
|
|
|
* xdocs/faq.xml (Ant's history details - not for betas)
|
|
|
|
* xdocs/index.xml (Announcement, latest release details, link to
|
|
|
|
manual under "Documentation")
|
|
|
|
* xdocs/srcdownload.xml
|
|
|
|
* xdocs/bindownload.xml
|
|
|
|
|
2005-01-02 18:34:39 +00:00
|
|
|
Generate the html files by invoking ant on docs.xml
|
|
|
|
(use -projecthelp for instructions).
|
|
|
|
Commit the modified/generated files
|
2003-12-20 16:19:00 +00:00
|
|
|
|
2003-09-30 13:01:32 +00:00
|
|
|
6. Ensure you have all the external libraries that Ant uses in your
|
2002-04-09 18:21:09 +00:00
|
|
|
lib/optional directory. To find out what libraries you need, execute
|
2003-09-30 13:08:00 +00:00
|
|
|
the build with -verbose option and scan for lines beginning with
|
2002-04-09 18:21:09 +00:00
|
|
|
"Unable to load...".
|
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
7. Make sure that your directory tree is clean by running svn status.
|
2008-03-26 20:31:08 +00:00
|
|
|
Some tests leave behind leftovers which end up in the source
|
|
|
|
distribution otherwise.
|
2006-09-17 17:19:12 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
8. Next bootstrap, build and run the tests. Then build the distribution
|
2003-09-30 13:08:00 +00:00
|
|
|
on the branch. It is important that this be a clean build. Label this with
|
2006-09-17 17:19:12 +00:00
|
|
|
a tag ANT_170_B1.
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2006-08-28 03:20:11 +00:00
|
|
|
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 ?\195?\188bertragen.
|
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
9. Sign the distribution files using the following simple script
|
2002-04-09 18:21:09 +00:00
|
|
|
#!/bin/sh
|
2006-08-28 03:20:11 +00:00
|
|
|
for i in `/usr/bin/find distribution \( -name "*.bz2" -o -name "*.zip" -o -name "*.gz" \)`
|
2002-04-09 18:21:09 +00:00
|
|
|
do
|
|
|
|
echo "Signing " $i
|
2002-04-11 15:53:42 +00:00
|
|
|
gpg -a -b --force-v3-sigs $i
|
2002-04-09 18:21:09 +00:00
|
|
|
done
|
|
|
|
|
2003-08-25 07:44:07 +00:00
|
|
|
The --force-v3-sigs will improve the interoperability with PGP 5.x,
|
|
|
|
see <http://www.gnupg.org/(en)/documentation/faqs.html#q5.5>.
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2002-04-11 13:30:06 +00:00
|
|
|
Before you do that, ensure that the key you use is inside the KEYS
|
2008-03-26 20:31:08 +00:00
|
|
|
file in Ant's SVN repository
|
|
|
|
<https://svn.apache.org/repos/asf/ant/antlibs/common/trunk/KEYS> -
|
|
|
|
and that you perform a svn update on the KEYS file in
|
|
|
|
/www/www.apache.org/dist/ant/common
|
2003-09-30 13:08:00 +00:00
|
|
|
|
|
|
|
Also make sure you have sent the key that you use to a public
|
2002-04-17 15:14:15 +00:00
|
|
|
keyserver.
|
2002-04-11 13:30:06 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
10. The beta distribution is now ready to go. Bundle it up into a tar.gz file
|
2002-04-17 15:30:44 +00:00
|
|
|
and scp to your apache account.
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
11. Meanwhile, convert the part of the WHATSNEW file covering the changes
|
2003-09-30 13:01:32 +00:00
|
|
|
since the last release into HTML for the README file on the
|
|
|
|
website. See the previous release directories for examples of these files.
|
2002-04-09 18:21:09 +00:00
|
|
|
Add instructions and warnings (GNU tar format issues, etc).
|
2002-04-09 18:45:08 +00:00
|
|
|
|
|
|
|
You may choose to use the text2html convertor present at
|
2004-07-02 10:09:13 +00:00
|
|
|
http://txt2html.sourceforge.net/#test
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2003-09-04 07:28:57 +00:00
|
|
|
Name the generated file RELEASE-NOTES-x.y.z.html.
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
Change the title to something like "Release Notes of Apache Ant
|
|
|
|
1.7.0Beta2" (from the default txt2html)
|
2006-09-18 14:32:00 +00:00
|
|
|
|
2002-04-09 18:45:08 +00:00
|
|
|
[[ TODO: This must perhaps be an Ant task. ]]
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
12. Once this is uploaded, unpack things in your home directory
|
|
|
|
and call for a release vote on dev@ant. 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 a week.
|
|
|
|
|
|
|
|
13. Once the vote has passed, create the release directory,
|
2006-09-17 17:19:12 +00:00
|
|
|
something like v1.7.0Beta1, push the release and RELEASE-NOTES files
|
2003-09-04 07:28:57 +00:00
|
|
|
into this directory. Create a symbolic link named README.html
|
|
|
|
that points to the RELEASE-NOTES.
|
2002-12-13 09:45:03 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
The files should go to /www/www.apache.org/dist/ant/ on people.apache.org.
|
2003-08-18 10:22:17 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
14. Address the available release tags in BugZilla. Create a new tag 1.7.0Beta1.
|
2006-09-17 17:19:12 +00:00
|
|
|
If there is a separate main branch, create a 1.8alpha tag.
|
|
|
|
Assign all existing 1.7 alpha bugs to 1.7.0Beta1.
|
|
|
|
Note that such massive changes can be done at once by choosing the
|
2003-12-20 16:19:00 +00:00
|
|
|
link "Change several bugs at once" at the bottom of the bug list
|
2006-09-17 17:19:12 +00:00
|
|
|
displaying the 1.7alpha bugs.
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
15. Once that is done, do a test download to make sure everything is OK. A
|
2002-04-17 15:14:15 +00:00
|
|
|
common problem may be:
|
2003-09-30 13:08:00 +00:00
|
|
|
* the file's mime type is not recognized and is interpreted as
|
2002-04-17 15:14:15 +00:00
|
|
|
text/plain. Fix it by using some .htaccess magic (AddEncoding stuff)
|
2008-03-26 20:31:08 +00:00
|
|
|
* Your gz.asc files are not being displayed properly (RemoveEncoding stuff)
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2003-08-18 10:22:17 +00:00
|
|
|
If it looks OK, announce it on dev@ant and user@ant. After a few
|
2002-04-17 15:30:44 +00:00
|
|
|
days pass and there are no major problems, a wider announcement is
|
2003-09-04 07:28:57 +00:00
|
|
|
made (ant website, main jakarta website, announcements@jakarta.apache.org,
|
2002-04-17 15:30:44 +00:00
|
|
|
etc).
|
2003-09-30 13:08:00 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
and also perform a svn update on files in people.apache.org's
|
2003-09-04 07:28:57 +00:00
|
|
|
/www/ant.apache.org/
|
2002-04-17 15:30:44 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
you also need to checkout parallel to ant-core
|
|
|
|
https://svn.apache.org/repos/asf/ant/site then go to the
|
|
|
|
subdirectory generated svn propedit svn:externals to change the
|
|
|
|
location of the manual
|
2006-10-19 05:17:24 +00:00
|
|
|
|
2002-04-17 15:30:44 +00:00
|
|
|
Announce beta releases at freshmeat.net (Stefan Bodewig is the
|
|
|
|
owner of Ant's project entry - bug him ;-).
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
16. As problems in the beta are discovered, there may be a need for
|
2002-04-17 15:30:44 +00:00
|
|
|
one or more subsequent betas. The release manager makes this
|
|
|
|
call. Each time, the versions are updated and the above process is
|
|
|
|
repeated. Try not to have too many betas.
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
17. Try to advertise the need for testing of the betas as much as possible.
|
2002-04-09 18:21:09 +00:00
|
|
|
This would eliminate the need to release minor patch versions like
|
2003-09-30 13:08:00 +00:00
|
|
|
we had to do when releasing Ant 1.4.
|
|
|
|
|
2002-04-10 16:24:32 +00:00
|
|
|
To monitor the number of downloads, look at the access_log
|
|
|
|
file under /usr/local/apache2/logs
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
18. When the final beta is considered OK, propose a vote on dev@ant to
|
2003-09-30 13:01:32 +00:00
|
|
|
officially adopt the latest beta as the Ant 1.6 release. If it is passed,
|
|
|
|
(it usually does,) this would be labelled ANT_16 and built in a similar
|
2002-04-09 18:21:09 +00:00
|
|
|
fashion to the above process.
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
It is probably a good idea to have the re-labeled distribution
|
|
|
|
files ready in time for the vote so that no additional vote on the
|
|
|
|
actual package is required later.
|
2002-12-13 09:45:03 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
19. This time you'll have to do some house-keeping for the old
|
|
|
|
release:
|
2002-12-13 09:45:03 +00:00
|
|
|
|
2003-09-30 13:08:00 +00:00
|
|
|
* upload the new release files to
|
2005-05-19 13:50:10 +00:00
|
|
|
|
|
|
|
from distribution
|
|
|
|
to /www/www.apache.org/dist/ant/[source|binaries].
|
|
|
|
|
|
|
|
and
|
|
|
|
|
2006-12-20 02:46:17 +00:00
|
|
|
from java-repository/org.apache.ant
|
|
|
|
to /www/people.apache.org/repo/m1-ibiblio-rsync-repository/org.apache.ant
|
2005-05-19 13:50:10 +00:00
|
|
|
|
2005-05-19 12:45:12 +00:00
|
|
|
this can be done using the target upload of the build.xml
|
2002-12-13 09:45:03 +00:00
|
|
|
|
2003-08-18 10:22:17 +00:00
|
|
|
* remove the symbolic links from /www/www.apache.org/dist/ant.
|
|
|
|
|
2002-12-13 09:45:03 +00:00
|
|
|
* Create proper -current symlinks in /www/www.apache.org/dist/ant/
|
|
|
|
|
2003-09-04 07:28:57 +00:00
|
|
|
* Make sure that the symbolic link README.html points to the new
|
|
|
|
RELEASE-NOTES.
|
|
|
|
|
2003-12-20 16:31:45 +00:00
|
|
|
(**)
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
20. Update the ant.apache.org site :
|
2003-12-20 16:19:00 +00:00
|
|
|
|
2006-09-17 17:19:12 +00:00
|
|
|
running svn update *.html under /www/ant.apache.org should update the
|
2003-12-20 16:19:00 +00:00
|
|
|
files regenerated and committed in point 5 above (index.html, faq.html,
|
|
|
|
antnews.html, srcdownload.html, bindownload.html).
|
2002-12-13 09:45:03 +00:00
|
|
|
|
2003-12-20 16:19:00 +00:00
|
|
|
Update the online manual too.
|
2002-12-13 09:45:03 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
21. Clean up.
|
2003-08-18 10:22:17 +00:00
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
* remove the remaining files of the previous release and betas from
|
2005-05-19 13:50:10 +00:00
|
|
|
/www/www.apache.org/dist/ant/[source|binaries].
|
2005-03-21 11:57:28 +00:00
|
|
|
This includes the old release notes.
|
2003-08-18 10:22:17 +00:00
|
|
|
|
2008-07-10 10:42:52 +00:00
|
|
|
(+)
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
22. Now and perhaps during previous betas any changes on the branch must
|
2002-04-09 18:21:09 +00:00
|
|
|
be merged back into the tree.
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
23. At this point in time, the release is done and announcements are made.
|
2003-08-18 10:22:17 +00:00
|
|
|
PGP-sign your announcement posts.
|
2002-04-09 18:21:09 +00:00
|
|
|
|
|
|
|
[[TODO: Identify the mailing lists where announcements are to be made.
|
|
|
|
Also identify the webpages to which the announcements must go. ]]
|
|
|
|
|
2002-04-17 15:30:44 +00:00
|
|
|
Apache mailing lists that should get the announcements:
|
2003-08-13 06:47:41 +00:00
|
|
|
announcements@jakarta.apache.org, announcements@xml.apache.org,
|
|
|
|
announce@apache.org, dev@ant and user@ant.
|
2002-04-17 15:30:44 +00:00
|
|
|
|
2002-11-28 08:38:27 +00:00
|
|
|
Announce release at freshmeat.net
|
2002-10-04 15:01:06 +00:00
|
|
|
(Stefan Bodewig is the owner of Ant's project entry - bug him ;-).
|
2002-04-17 15:30:44 +00:00
|
|
|
|
|
|
|
Announce release in the usenet groups comp.lang.java.softwaretools
|
|
|
|
and comp.lang.java.announce.
|
|
|
|
|
2008-07-10 10:42:52 +00:00
|
|
|
24. Add a new release tag to doap_Ant.rdf in Ant's trunk.
|
|
|
|
|
|
|
|
25. You can now reacquaint yourself with your family and friends.
|
2002-04-09 18:21:09 +00:00
|
|
|
|
2003-12-20 16:19:00 +00:00
|
|
|
(*) the xdocs need to be updated on both the branch and the HEAD revision
|
|
|
|
because traditionally the ant.apache.org web site reflects the HEAD
|
2003-12-20 16:31:45 +00:00
|
|
|
revision of the xdocs, but the users downloading a distribution will get
|
2003-12-20 16:19:00 +00:00
|
|
|
the xdocs and the generated html from the branch and will complain if there
|
2003-12-20 16:31:45 +00:00
|
|
|
are discrepancies in version numbers.
|
|
|
|
|
|
|
|
(**) Mirrors : the srcdownload.html and bindownload.html each list a number of
|
|
|
|
mirrors. For ant 1.6.0 the mirrors picked up the new version in 8 hours
|
|
|
|
or less, the release having been done at midnight on Dec 18th, the
|
|
|
|
mirrors had it on Dec 19th at 8 am. The srcdownload/bindownload pages both
|
|
|
|
contain a note advising users to be patient immediately after the release.
|
2006-06-15 02:39:59 +00:00
|
|
|
|
2008-07-10 10:42:52 +00:00
|
|
|
(+) Don't expect the old releases to disappear from
|
|
|
|
www.apache.org/dist as soon as the new releases are there.
|
|
|
|
The rsync process from people.a.o to www.a.o adds files once per
|
|
|
|
hour but only deletes once per day.
|
|
|
|
|
|
|
|
|
2006-06-15 02:39:59 +00:00
|
|
|
Related Information
|
|
|
|
|
2008-03-26 20:31:08 +00:00
|
|
|
http://www.apache.org/dev/#releases
|
|
|
|
http://commons.apache.org/releases/index.html
|
|
|
|
http://wiki.apache.org/commons/SigningReleases
|
2006-06-15 02:39:59 +00:00
|
|
|
|