Menu

ReleaseManagement

Timo Baumann

Re-Creating the Sourceforge SVN:

  • svnadmin dump /PATH/ON/GATE/INPRO_SVN | svndumpfilter include SEE BELOW > inprotk.dump on gate
  • use svndumpfilter to keep only what's remotely relevant to inprotk code (currently that's at least Code/Java, Code/Higgins, Experiments/iNLG_iSS/); svndumpfilter will abort if you include too little
  • use svncleaner.pl (from our sf-files; needs SVN::Dump installed) to strip only the relevant parts (build the whitelist with find src/inpro/ src/done/ src/demo/ | grep -v .svn | sed 's/^/Code\/Java\// on a checkout of the repository)
  • move/rename files (Code/Java → trunk/) with sed: sed -i 's/^Node-path: Code\/Java/Node-path: trunk/; s/Node-copyfrom-path: Code\/Java/Node-copyfrom-path: trunk/' inprotk.dump
  • manually remove 1st revision, remove creation of trunk/ with emacs (I know, we need a better solution for that)
  • test whether the resulting dump can be loaded into a fresh repository that only contains 1 revision which created trunk/, branches/ and tags/ (this can be time-consuming)
  • test this repository (see below)

Testing:

  • checkout src/ from the (temporary) repository
  • copy build.xml, lib/ and res/
  • compile: ant build
  • check (and mark success for) ant targets:
    • Apps_SimpleText
    • Demo_SimpleRecoFromFile
    • Apps_SimpleRecoFromMicrophone (if this fails, try to run without assertions!)
    • Apps_EN_SimpleRecoFromMicrophone
    • Done_GreifarmExperiment
    • Demo_EchoDM (needs Internet)
    • Done_CarChaseExperimenter (needs locally installed MaryBase, change reference in build.xml!)
    • Demo_ProsodyDemonstrator (needs locally installed MaryBase, change reference in build.xml!)
    • Demo_EN_ProsodyDemonstrator (needs locally installed MaryBase, change reference in build.xml!)
    • Demo_GreatPatternDemonstrator (needs locally installed MaryBase, change reference in build.xml!)
    • Demo_EN_GreatPatternDemonstrator (needs locally installed MaryBase, change reference in build.xml!)
    • other test (which, however, are not expected to pass yet)
    • maybe also run manual tests
  • if tests fail notify inprotk-devel@lists.sourceforge.net
  • if above tests pass, continue below

Re-Freshing the Sourceforge SVN:

(should be done for smaller changes that do not require a new release)

  • remove repository from sourceforge admin dashboard
  • create new repository from sourceforge admin dashboard
  • open admin shell, upload your inprotk.dump to shell
  • svnadmin load < inprotk.dump
  • in admin dashboard/Tools → refresh repository

Making a Release:

  • update Javadoc and make sure there are no warnings
  • upload javadoc to sourceforge (inprotk.sf.net/javadoc)
  • make sure INSTALL is reasonable
  • make sure README is reasonable
  • review other hand-written documentation
  • create ZIP from Eclipse (from your temporary repository; thus including lib/, res/, build.xml, INSTALL and README)
  • create JAR from Eclipse project
  • create new Folder at sourceforge
  • upload zip and jar to sourceforge
  • consider writing a blog post onto website, maybe update RecentChanges wiki page