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