Author: xavier Date: Fri Dec 7 22:06:20 2007 New Revision: 602327 URL: http://svn.apache.org/viewvc?rev=602327&view=rev Log: update release documentation
Modified: ant/ivy/core/trunk/doc/dev.html Modified: ant/ivy/core/trunk/doc/dev.html URL: http://svn.apache.org/viewvc/ant/ivy/core/trunk/doc/dev.html?rev=602327&r1=602326&r2=602327&view=diff ============================================================================== --- ant/ivy/core/trunk/doc/dev.html (original) +++ ant/ivy/core/trunk/doc/dev.html Fri Dec 7 22:06:20 2007 @@ -110,12 +110,12 @@ This will allow to work separately from other developers, in case you need any last modification. <code> svn copy https://svn.apache.org/repos/asf/ant/ivy/core/trunk \ - https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-alpha1 \ - -m "Creating a release branch for 2.0.0-alpha1." + https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1 \ + -m "Creating a release branch for 2.0.0-beta1." </code> <h3>3. Check out the branch</h3> <code> -svn co https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-alpha1 ivy-2.0.0-alpha1 +svn co https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-alpha1 ivy-2.0.0-beta1 </code> <h3>4. Double check the files which need to be updated for the release.</h3> Check again that files have proper revision information. @@ -131,27 +131,23 @@ </code> by <code> -<title>${title} | Ivy 2.0.0-alpha1-incubating Documentation</title> +<title>${title} | Ivy 2.0.0-beta1 Documentation</title> </code> <h3>5. Add release note page in the documentation.</h3> Open the file doc/index.html with your favorite browser, and click on the plus button in the upper right. Choose "Release Notes" as title, and "release-notes" as page id. -Then edit the page (hit the first button at the upper right), and copy the content of the RELEASE_NOTES file in a pre section: -<code> -<pre> -Here comes the release notes... -</pre> -</code> +Then edit the page (hit the first button at the upper right), and copy the content of the RELEASE_NOTES file. You can also add the announcement for the release if it's already ready. If this is an incubator version, add the usual incubator disclaimer too. Move the page up in the TOC using the arrow button in the toolbar at the upper right, so that it's the first child page under the "Documentation" page. -The page could then look like something like that: -http://incubator.apache.org/ivy/history/2.0.0-alpha-1.html +If you take the time to make the content of the release notes more "xooki compliant" (by removing unnecessary end of lines and adding h2 h3 and h4 tags), the page could then look like something like that: +http://ant.apache.org/ivy/history/2.0.0-alpha-1.html <h3>6. Commit your changes</h3> <code> +svn add doc/release-notes.html svn ci -m "update templates and add release notes in documentation." </code> <h3>7. Check that you have no pending modifications</h3> @@ -161,7 +157,7 @@ If your working copy is clean, you can launch the release script. If it isn't, make sure to clean it properly. Sometimes you may need to call ant clean-all if you have started to work with ant builds. If you are confused about your working copy state, delete it and check it out again. <h3>8. Launch the release script</h3> <code> -ant -Dbuild.version=2.0.0-alpha1-incubating -Dstatus=milestone -f build-release.xml release +ant -Dbuild.version=2.0.0-beta1 -Dstatus=milestone -f build-release.xml release </code> The status should be release only for final releases, and milestone for any other intermediate release. If anything is wrong, fix and go back to step 4. @@ -182,22 +178,47 @@ require 'find' Find.find('build/distrib') do |f| - `gpg --armor --output #{f}.asc --detach-sig #{f}` if File.file?(f) && ['.zip', '.gz'].include?(File.extname(f)) + `gpg --armor --output #{f}.asc --detach-sig #{f}` if File.file?(f) && ['.zip', '.gz', '.jar', '.pom'].include?(File.extname(f)) end </code> Be prepared to enter your passphrase several times if you use this script, gpg will ask for your passphrase for each file to sign. -<h3>11. Cast a vote to approve the release</h3> -Cast a vote to approve the release, first on the ivy-dev mailing list, then if it is approved, on the [EMAIL PROTECTED] mailing list +When you're done upload the content of the distrib directory to a publicly accessible web site, your apache personal site being a good location for this. Make sure you include some kind of disclaimer somewhere to inform people the release is not approved yet. + +You can for example add a HEADER.html like this: +<code> +<h2>WARNING: files available here are NOT an Apache approved release yet.</h2> +</code> + +<h3>11. Call for a vote to approve the release</h3> +Cast a vote to approve the release on the [EMAIL PROTECTED] mailing list. + +Here is an example: +<code> +Subject: [VOTE] Ivy ${version} Release + +I have built a release candidate for Ivy ${version} + +You can download it from this URL: ${url} + +Do you vote for the release of these binaries? + +[ ] Yes +[ ] No + +Regards, + +${me}, Ivy ${version} release manager +</code> <h3>12. Tag the svn repository</h3> Now that the release is approved, it is time to tag the svn repo <code> -svn copy https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-alpha1 \ - https://svn.apache.org/repos/asf/ant/ivy/core/tags/2.0.0-alpha1 \ - -m "Tag release 2.0.0-alpha1." +svn copy https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1 \ + https://svn.apache.org/repos/asf/ant/ivy/core/tags/2.0.0-beta1 \ + -m "Tag release 2.0.0-beta1." </code> <h3>13. Upload to public repository</h3> -If the release is approved, it's now time to make it public by uploading it to the public Apache distrib repository (i.e. /www/people.apache.org/dist/incubator/ivy/[version] on people.a.o). +If the release is approved, it's now time to make it public by uploading it to the public Apache distrib repository (i.e. /www/www.apache.org/dist/ant/ivy/[version] on people.a.o). <h3>14. Update the web site</h3> Add a link to the released version documentation in the web site. @@ -207,21 +228,21 @@ <li>add a svn externals reference to the documentation</li> edit the svn properties of site/history, and in the svn:externals property, add a line like this one: <code> -2.0.0-alpha2 https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-alpha2/doc +2.0.0-beta1 https://svn.apache.org/repos/asf/ant/ivy/core/branches/2.0.0-beta1/doc </code> <li>edit the toc.json file in the site component of Ivy</li> and add something like that: <code> { - "title":"2.0.0-alpha2", - "importRoot":"history/2.0.0-alpha2", + "title":"2.0.0-beta1", + "importRoot":"history/2.0.0-beta1", "importNode":"index" } </code> <li>Add a call to init-imported-version in site/build.xml</li> In the init-imported-history target, add a task call like this one: <code> -<init-imported-version version="2.0.0-alpha2" /> +<init-imported-version version="2.0.0-beta1" /> </code> </ol> Then launch "ant init-imported-history" in the site directory, and check the documentation now has the released version in the history, and that this documentation can be accessed with no problem with a unified TOC. @@ -236,7 +257,7 @@ </code> <h3>15. Announce</h3> -Announce the release on the ivy-dev and ivy-user mailing lists, on the [EMAIL PROTECTED] list, [EMAIL PROTECTED] and on the [EMAIL PROTECTED] +Announce the release on the [EMAIL PROTECTED], [EMAIL PROTECTED], [EMAIL PROTECTED] and [EMAIL PROTECTED] mailing lists. Announce also the release on Ivy web site by editing the doc/index.html on the trunk. You can also announce the release on popular web sites, like freshmeat.net (xavier is the owner of the Ivy project on freshmeat), javalobby.org, theserverside.com, dzone.com, ... <h3>16. Update this doc</h3>