JEuclid Code
Brought to you by:
maxberger
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 -Dresume if you get a mercurial commit error: - edit release.properties, set completedPhase to scm-commit-release - resume mvn release:prepare -Dresume Then the same again, this time to scm-commit-development ensure the changes are pushed to the main repo: hg push 4. Perform the release Ensure that you have a shell at sourceforge: /usr/bin/ssh -T maxberger,jeuclid@shell.sourceforge.net create (use your user name) 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 -swt (use only comments, do not delete lines!) currently: 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 ) hg 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},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/ cd ../../jeuclid-mathviewer/target rsync -avP -e ssh jeuclid-mathviewer-$VERSION-osx.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/ rsync -avP -e ssh jeuclid-mathviewer-$VERSION-win32.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/ cd ../../jeuclid-minimal/target rsync -avP -e ssh jeuclid-minimal-$VERSION-distribution.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/ cd ../../jeuclid-fop/target rsync -avP -e ssh jeuclid-fop-$VERSION-distribution.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/ cd ../../target/ rsync -avP -e ssh jeuclid-parent-$VERSION-src.zip ${USER},jeuclid@frs.sourceforge.net:/home/frs/project/j/je/jeuclid/3.1.x/${VERSION}/ 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