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

1. Make sure all tests pass

   Run all tests (requires python):

     make check
     or
     cd tests && ./run_tests.py

2. Make sure it builds for Windows via mingw

    sh make_win32.sh

3. Update documentation for the release

3a. Update the version number and rebuild.
Replace the old version with the new version everywhere except in ChangeLog.
Specific files to update:
    configure.in
    documentation/htdocs/index.html

Run "sh autogen.sh" and then "./configure".
Rebuild from scratch (make clean && make)

3b. Update the option count in index.html

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

3d. Update the man file, if any command-line options have changed.

3e. Update the ChangeLog to indicate the release date

3f. Generate a commit.log
$ git log > commit.log

4. Make sure there are no modified files in the workspace.
   Check in all the changes you just made.

5. Create a dist tarball and win32 package

$ make dist
Untar the file in a temporary folder and run './configure && make && make check'
Then, in that new folder, run 'sh make_win32.sh'.

NOTE: "make distcheck" doesn't work.  It can't find the config.h file.
No idea why.

6. Create a GIT tag
$ git tag -a uncrustify-0.56 -m uncrustify-0.56

7. Re-run 'make dist' and copy out the release tarball.

8. Update and build for windows via mingw (save the zip file this time)

    sh make_win32.sh

9. Update the web page files
$ cd uncrustify-$UNC_REL/
$ scp -r documentation/htdocs/* ChangeLog USER,uncrustify@web.sourceforge.net:htdocs/

10. Use the web interface (file manager) to create the release folder and
upload the files to sourceforge.

11. (optional) Create a news item

12. (optional) Update freshmeat.net project

