Before the Release Send mail to jeuclid-devel, asking for potential release, count votes Release day: <!-- currently none 1. manually edit all pom.xml and remove snapshot dependencies. You may have to commit these changes mvn -Dmessage="Disabled snapshots in preparation for release" scm:checkin --> 2. Test with maven: mvn -DdryRun=true release:prepare (check if that works, and resolve any issues before going ahead) mvn release:clean mvn install 3. Actually prepare release: mvn release:prepare fails half-way through due to missing dependencies, fix with mvn install mvn release:prepare 4. Perform the release mvn release:perform -DgenerateReleasePoms=true (checks out the project into target/checkout) WILL FAIL after uploading jeuclid-parent, but that's ok! clean up after release: mvn release:clean 5. Manually build, install locally cd target/checkout mvn install 6. Deploy to m2-release (which is automatically synced to ibiblio) disable all modules except -mathviewer, -core, -core16 -cli (use only comments, do not delete lines!) currently: swt, fop, jeuclid, minimal, testsuite (edit pom.xml in target / checkout) mvn deploy 7. Re-enable distribution plugins (that where disabled in 1: none) Also, re-enable all modules ( still in target / checkout ) svn revert pom.xml build the real release packages: mvn package build source packages: mvn assembly:assembly -Ddescriptor=src/assemble/source.xml (TODO: Maybe also in support/ ) upload to sf: VERSION=3.1.2 #replace with version USER=maxberger #replace with your sf id cd jeuclid/target rsync -avP -e ssh jeuclid-$VERSION-distribution.zip ${USER}@frs.sourceforge.net:uploads/ cd ../../jeuclid-mathviewer/target rsync -avP -e ssh jeuclid-mathviewer-$VERSION-osx.zip ${USER}@frs.sourceforge.net:uploads/ cd ../../jeuclid-minimal/target rsync -avP -e ssh jeuclid-minimal-$VERSION-distribution.zip ${USER}@frs.sourceforge.net:uploads/ cd ../../jeuclid-fop/target rsync -avP -e ssh jeuclid-fop-$VERSION-distribution.zip ${USER}@frs.sourceforge.net:uploads/ cd ../../target/ rsync -avP -e ssh jeuclid-parent-$VERSION-src.zip ${USER}@frs.sourceforge.net:uploads/ cd .. Log into SF website and use files. ( release ) Write News on SF site 8. Update website go back to main SVN, cd ../.. cd src/site edit docbook/index.xml cd ../.. 9. update src/changes/changes.xml <!-- 10. Undo changed in pom.xmls (re-enable plugins from step 1) --> <!-- 11. Deploy website mvn install && mvn site && mvn site-deploy (is done automatically at night) --> 12. commit changes mvn -Dmessage="Updated file after release" scm:checkin 13. Send email to jeuclid-users and jeuclid-devel, and optionally to www-math@w3.org