JetSpeed RELEASE-TODO
Last Modified: $Date: 2003/11/04 00:10:30 $
Latest version at: http://cvs.apache.org/viewcvs/jakarta-jetspeed/RELEASE-TODO
Author:  burton@apache.org, paulsp@apache.org, sgala@apache.org, morciuch@apache.org

************************************************************************************

These are steps to be used when building a Jetspeed release distribution:

1) Update the version number in the following files:

        - project.xml
        - webapp/WEB-INF/conf/JetspeedResources.properties
        (There may be other files, so do a search on the previous version # and "-dev")

2) Update the distribution URL in the following files:

        - docs/channels/jetspeed.rss
        - webapp/rss/Jetspeed.rss

3) Move around TODO notes so that any finished items are reflected in TODO/CHANGELOG

4) Update the release notes in README file

5) Update xdocs/install.xml to reference the latest download area

6) clean your distribution (remove Jetspeed.jar from you classpath). This will 
ensure a clean build

*******************************************************************************
** Use JDK 1.3 or greater when compiling (do not use Jikes for distribution) **
*******************************************************************************

7) Do a cvs checkout of jakarta-jetspeed module with a -P (Prune) to a clean directory:

        cvs checkout -P jakarta-jetspeed

8) Run unit tests:

        ant unittest-all
        ant tests_tomcat_40

9) Build releases:

        ant clean release
        ant clean release_binary

10) Tag CVS with the revision release number (for example, JETSPEED-RELEASE-1-4):

        cvs tag JETSPEED-RELEASE-xxx

11) Copy the distributions to the download directory on minotaur.apache.org:

        jetspeed-1.xxx-war.zip -> /www/www.apache.org/dist/jakarta/jetspeed/binaries
        jetspeed-1.xxx-src.zip -> /www/www.apache.org/dist/jakarta/jetspeed/source     
        
12) Download the distributions to a local machine and test the .war file

13) Sign the distributions on a local machine:

        a. If you don't have a public key yet, generate it using 'pgp -kg'
        
        b. If not already there, append your public key to 
        /www/www.apache.org/dist/jakarta/jetspeed/KEYS (dump your public key
        using 'pgp -kxa <username>, where username is whatever you used in
        generating the public key, for example 'morciuch')
        
        c. Add contents of KEYS to your public ring using 'pgp -ka KEYS'
        
        d. Generate the .asc files using:
        
                pgp -sb jetspeed-xxx-war.zip -u <username>
                pgp -sb jetspeed-xxx-src.zip -u <username>
                
        e. Generate md5 hashes using:
        
                openssl md5 < jetspeed-xxx-war.zip > jetspeed-xxx-war.zip.md5
                openssl md5 < jetspeed-xxx-src.zip > jetspeed-xxx-src.zip.md5                
                
        f. Upload generated signature files to download directory on minotaur.apache.org:
        
                jetspeed-xxx-war.zip.md5 -> /www/www.apache.org/dist/jakarta/jetspeed/binaries
                jetspeed-xxx-war.zip -> /www/www.apache.org/dist/jakarta/jetspeed/binaries
                jetspeed-xxx-src.zip -> /www/www.apache.org/dist/jakarta/jetspeed/source
                jetspeed-xxx-src.zip.md5 -> /www/www.apache.org/dist/jakarta/jetspeed/source                

14) Relink current release symbolic links on minotaur.apache.org:

        cd /www/www.apache.org/dist/jakarta/jetspeed
        rm jetspeed-current-*
        ln -s source/jetspeed-xxx-war.zip jetspeed-current.zip
        ln -s source/jetspeed-xxx-src.zip jetspeed-current-src.zip
        ln -s source/jetspeed-xxx-war.zip.asc jetspeed-current.zip.asc
        ln -s source/jetspeed-xxx-src.zip.asc jetspeed-current-src.zip.asc

15) Manually update README.html in the distribution directory on minotaur.apache.org.

16) Add the version number and the -dev version number to Bugzilla:

        HOW???

17) Update the Jetspeed home page on minotaur.apache.org:

        cd /www/jakarta.apache.org/jetspeed/site
        umask 002
        cvs update

18) Update the Jetspeed channels on minotaur.apache.org:

        umask 002
        cd /www/jakarta.apache.org/jetspeed/channels
        cvs update

19) Update Javadocs on the Jetspeed home page on minotaur.apache.org:

        a. On minotaur.apache.org:
        
                umask 002
                cd /www.jakarta.apache.org/jetspeed
                rm -r api

        a. On your local machine:
        
                ant javadocs
                
                (upload docs/api --> /www/jakarta.apache.org/jetspeed)                

20) Check out/refresh your copy of 'jakarta-site2' module and do the following:

        a. Edit the Jakarta news page: /docs/index.html
        
        b. Edit the Jakarta source downloads page: /docs/site/sourceindex.html
        
        c. Edit the Jakarta binary downloads page: /docs/site/binindex.html
        
        d. commit the changes back to CVS
        
        e. Update the jakarta home page from CVS:
        
                cd /www/jakarta.apache.org
                umask 002                
                cvs update

21) Write and post release announcement to mailing lists:

        announcements@jakarta.apache.org
        jetspeed-dev@jakarta.apache.org
        jetspeed-user@jakarta.apache.org
        
*****************************
** Post release activities **
*****************************

22) Update release number to "-dev". See the simular steps#1 and #2.

23) Update this todo list where appropiate

24) Relax :) 

