Copyright 2004 The Apache Software Foundation

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

JetSpeed RELEASE-TODO
Last Modified: $Date: 2004/04/22 20:42:33 $
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
        - tutorial/project.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) Running unit tests is no longer necessary since its handled in step 9

    (skip)

9) Build releases:

        maven clean dist

    If you are debugging the build, and need to build quicker, without tests you can skip the tests:

        maven -Dmaven.test.skip=true clean dist

     (recommended that you run the tests at least once before releasing)

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

        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 JIRA via JIRA Admin:
    (requires administrative privileges on JIRA)

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

        cd /www/portals.apache.org/jetspeed-1
        umask 002
        [use maven to deploy the site, or a SFTP utility]

        cd /www/portals.apache.org/jetspeed-1/tutorial
        umask 002
        [use maven to deploy the site, or a SFTP utility]

        cd /www/portals.apache.org/jetspeed-1/plugin
        umask 002
        [use maven to deploy the site, or a SFTP utility]

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/portals.apache.org/jetspeed-1
                rm -r api

        a. On your local machine:
        
                maven javadoc

                [use maven to deploy the site, or a SFTP utility]                
                (upload docs/api --> /www/portals.apache.org/jetspeed-1)                

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/portals.apache.org/jetspeed-1
                umask 002                
                cvs update

21) Write and post release announcement to mailing lists:

        general@portals.apache.org
        jetspeed-dev@jakarta.apache.org
        jetspeed-user@jakarta.apache.org
        announcements@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 :) 

