make sure code is up to date and everything is in svn: ant clean svn update svn status run version update script at the top level: ./tools/shell/update_version.sh tasks implemented by script: update pmd.bat, designer.bat, bgastviewer.*, cpd.jnlp, cpdgui.bat, build.xml to point to pmd-.jar update PMD.java, xdocs/running.xml, compiling.xml, integrations.xml, installing.xml to reflect pmd- update the release date in the changelog update release number and tag name in project.xml then, run the script that will generate the proper rulesets/rulesets.properties ./tools/shell/updating_rulesets.sh rulesets/rulesets.properties update rulesets/rulesets.properties - add any new ruleset file names ensure all the new rules are listed in a rulesets/releases/.xml file ant recompile regress test Check in everything Run all regression tests and various ant tasks: ant qa TESTS: Can you run 1 file and get a report ./bin/pmd.sh ~/tmp/Test.java xml unusedcode ./bin/pmd.sh ~/tmp/Test.java html rulesets/unusedcode.xml run "./generate_release.sh release" in tools/shell It will run: ant dist mvn site generate the binary zip file svn tag if "yes" is pressed generate the source zip file if you see a bug and fix it, you can delete the release using: svn delete https://pmd.svn.sourceforge.net/svnroot/pmd/tags/pmd/pmd_release_ and then retag it Go to Admin, File Releases, Add release Paste stuff into the changelog/readme boxes Add the pmd-bin-.zip file Add the pmd-src-.zip file Classify the file Click File Releases, Edit Release, set previous version to 'hidden'. upload command below will create and upload the maven artifacts to sourceforge. Login info for 'pmd-repo' must be defined in ~/.m2/settings.xml update the "download" and "what's new" link in navigation.xml ./docs.sh upload update cpd.jnlp by running: ant cpdjnlp Submit news to SF Go to http://freshmeat.net/ Submit news to java.net Do a blog entry