Last modified 3 years ago Last modified on 02/08/12 11:55:58

Current Checklist for NEW RELEASES

Prepare release

  • Make sure Command Layer Structure doc\html\functions\CommandLayers.html is up2date
  • Update Release-Notes and version history: doc/release.html
  • Update and check release date and copyright years
  • Copy-paste changes in doc/release.html to root/RELEASE (text-file)
  • Update root/README.txt and root/README
  • Update root/AUTHORS
  • Auto-Generate Contents.m for folder mfiles:
    • first in sub-folders (e.g. private, @NXTmotor)
    • then in mfiles-root
  • Edit main Contents.m with current version info and date
  • Make sure that all version-infos are up-to-date:
    • root/README.txt and root/README
    • doc/toolbox.html (top of the page)
    • doc/release.html (current version, check current version sample struct, version history)
    • Contents.m
  • Copy / update current MotorControl in root/tools/MotorControl
    • Compilation works?
    • Version number in filename / batchfile correct and match?

Generate release

  • Run publishing\scripts\publish_toolbox.py
  • New toolbox should be in publishing\output
  • Remove NexTTool.exe and nbc.exe and Firmware file from /tools/MotorControl if necessary

Test Release

  • Check doc: Main-help-tree ok, links working?
  • Check help-search: NXT_ commands etc can be found?
  • Check ver-command: Version-info correct?
  • Make sure all auto-generated m2html scripts are published correctly?
  • Make sure all demos are working?
  • ToolboxBenchmark and ToolboxTest are running through?

Before Zipping

  • Check: wordbytes2dec and dec2wordbytes are NOT OPTIMIZED?
  • Check: wordbytes2dec.fast and the other .fast file are PRESENT?
  • Check: MotorControl.nxc is PRESENT?
  • EXPORT from SVN, if checked in…
  • Make sure zipping happens in a sub-folder called "RWTHMindstormsNXT"
  • Test: Unzip archive, extracted to correctly named subfolder?

MATLAB Central Files

SVN maintenance

  • Create a BRANCH of the current TRUNK, called branches/version-x.yy
  • Create a TAG (manually?) of the currently exported / zipped output toolbox folder
  • Add zipfile to fresh tag




OLD Checklist for NEW RELEASES (ancient pre-automatic time for pre v1.00 versions)

This todo-list might have to be updated for future public releases with many developers / contributors collaborating, it was first intended for internal use and then published.

  1. Decide new version number. Name branches accordingly!
    • Use x.yy where x is major version and yy release. (I.e. after 1.00 follows 1.01, 1.02, and so on.)
    • Only increase major version after huge improvements or when losing backwards compatibility
  1. Prepare sourcecode (m-files) in modules-folder:
    • Create new branch for new release.
    • Delete unused files, delete obsolete directories etc.
    • (clean up temporary / working comments if necessary)
  1. Create new toolbox branch
    • Copy m-files from modules-branch to this branch, overwrite
    • Remove unused and old files (cleanup from toolbox trunk)
    • Run utility script "create_documentation" under Linux
      • Run wg_publish to generate and update html-helpfiles
      • Edit (or run script) to add header and modify stylesheets of html-helpfiles
      • Run script to remove |, %+ and first ; from m-files
      • (might become obsolete: Run m2html for new (clean) m-files, edit css and headers)
    • Move the new html files in /output/help/ in /doc/functions/help
    • Overwrite the old m-files with new one in /output/mfiles
    • Check FunctionsOverview and similar html files: Up2date? If not, re-publish from m-file sources
    • Check dynamic wiki-content (command layer etc): Up2date? If not, copy-paste (and edit css) from web.
    • Edit changelog (txt) and or version-history (release.html), add new release notes.
    • Update demos and/or examples if necessary!
    • Delete current Contents.m in toolbox root (of current branch), generate new one using MATLABs report generator.
    • Run utilities-script !ChangeContentsMEntriesForHelpbrowser.m, it creates NewContents.m (reads Contents.m)
    • Delete Contents.m, rename NewContents.m to Contents.m (silly step, change the script above if you have time)
    • /!\ Edit Contents.m: Add correct header from trunk, INCREASE VERSION NUMBER, edit RELEASE DATE!!!
    • If new functions or m-files were added: Update info.xml and other .xml files!
    • Did the ini-files change? Check!
    • Update README, README.txt and AUTHORS (if necessary)
  1. Test new toolbox branch
    • Remove all other trunk / tag paths, add this new branch path ONLY to MATLAB.
    • Open help browser, inspect toolbox documentation tree
    • Check Release notes and version history
    • Execute MATLAB command: info = ver('RWTHMindstormsNXT')
    • Are the demos executable and run correctly?
    • If present: Use test-script that calls all / most functions
    • Check if ini-example-files are up2date.
    • Export SVN-branch-folder to temp, zip it, extract it again, repeat steps above.
    • Recompile existing stand-alone demos and examples with new toolbox version
    • Compile new stand-alone demos…
  1. Create tag from toolbox branch
    • Export to temp folder, compress (zip)
    • Compress compiled stand-alone-demos (zip)
    • Upload to website (toolbox, demos, stand-alone)
    • Add Version history to wiki
    • Update news ticker.
  1. Consider merging final toolbox branch changes back into trunk!
    • Keep all trunks up2date (should be anyway)
    • Close fixed bug tickets inside Trac
    • Open new "bug reports" forum thread / Trac tickets for current version.