run version update script at the top level: ./etc/update_version.sh tasks implemented by script: update pmd.bat, designer.bat, bgastviewer.*, cygwin-run.sh, 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 update rulesets/rulesets.properties - add any new ruleset file names ensure all the new rules are listed in a rulesets/releases/.xml file ant clean test Check in everything ant dist test Do all the JUnit tests run? OK, then: TESTS: Can you 1) run 1 file and get a report ./pmd.sh ~/tmp/Test.java xml unusedcode ./pmd.sh ~/tmp/Test.java html rulesets/unusedcode.xml 2) run the Ant 'pmd' task and get a report ant pmd run "./generate_release.sh " in etc It will run: ant dist ./docs.sh all 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 ncftpput upload.sourceforge.net incoming/ pmd-src-.zip pmd-bin-.zip lftp -e "mput -O incoming/ pmd-src-.zip pmd-bin-.zip" upload.sourceforge.net 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'. cd ~/pmd/pmd/ update the "download" and "what's new" link in navigation.xml ./docs.sh all ./docs.sh upload scp target/pmd-*-bundle.jar tomcopeland@pmd.sourceforge.net:/home/groups/p/pm/pmd/htdocs/ Open a JIRA Maven upload issue: http://maven.apache.org/maven-1.x/reference/repository-upload.html Submit news to SF Go to http://freshmeat.net/ Submit news to java.net Do a blog entry