
$Id: release-steps.txt 1305 2008-07-19 01:44:09Z 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.48

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
    man/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
UPDATE: sourceforge no longer supports ftp
Use the web upload or sftp.

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

