
$Id: release-steps.txt 1194 2008-06-06 19:36:50Z bengardner $

Release steps.
Just in case I don't do a release for a while and forget what to do... =)

0. Update the following two lines and paste into a terminal:

UNC_URL=https://uncrustify.svn.sourceforge.net/svnroot/uncrustify
UNC_REL=0.47

1. Make sure all tests pass

2. Make sure it builds on Windows

3. Update the version number.
Replace the old version with the new version everywhere except in ChangeLog.
Specific files to update:
    configure.in
    documentation/htdocs/index.html
    documentation/uncrustify.1 (man file)
    src/uncrustify_version.h
Re-run autoconf and ./configure.

4. Update the config files
$ scripts/update-defaults.sh

4a. Update the man file, if any command-line options have changed.

5. Update the ChangeLog to indicate the release date

6. Make sure there are no modified files in the workspace.

7. Copy the trunk to a tag
$ svn cp $UNC_URL/trunk/uncrustify $UNC_URL/tags/uncrustify-$UNC_REL -m "uncrustify-$UNC_REL"

8. Export to the release folder
$ svn export $UNC_URL/tags/uncrustify-$UNC_REL

9. Tar up the files
$ tar czf uncrustify-$UNC_REL.tgz uncrustify-$UNC_REL

REVISIT: consider splitting the tests out from the source

10. Update and build on windows
Copy the exe, ChangeLog, index.html, and all the .cfg files in etc into a
folder named "uncrustify-$UNC_REL-win32".
Zip up that folder using the folder name + ".zip"
Copy to the release folder on Linux

11. Copy the files to sourceforge
$ ftp upload.sourceforge.net
$ bin
# cd /incoming
$ put uncrustify-$UNC_REL.tgz
$ put uncrustify-$UNC_REL-win32.zip
$ quit

12. Update the web page
$ ssh USER@shell.sourceforge.net
$ cd /home/groups/u/un/uncrustify/htdocs
$ svn up
$ exit

13. Use the web interface to create the release and attach the files

14. (optional) Create a news item

15. (optional) Update freshmeat.net project

