-
Notifications
You must be signed in to change notification settings - Fork 27
Mesquite Release Protocol
Wayne Maddison edited this page Sep 13, 2017
·
45 revisions
##Lead up to release ###Code
- add new features/bug fixes to History of New Features page (check Help>List of new modules)
- test and possibly resave example files
- check prerelease modules (use Help>List of prerelease modules): check code and switch those deemed safe to isPrerelease = false;
- search code for Debugg. (should be no instances in release)
- (major only) test under Windows, Linux, OSX
- for new modules return current release for getVersionOfFirstRelease; replace constant NEXTRELEASE if that had been used.
- (major only) headless recompile
##Release process ###Code & Workspace
- set build numbers and version numbers in MesquiteModule.java
- set release dates, version, version numbers, prerelease in Mesquite.java
- change update.xml URL in Installer and Defaults to real ones if needed
- edit as needed update.xml, install.xml, and notices.xml files
- save copy of the Eclipse workspace (important to help test behaviour of whole builds/workspaces)
###Package release bundles for macOS, Windows, Linux
- Make sure jars folder is complete
- Use the OS-specific base Mesquite_Folders by copying the universal base three times, for OS X, Linux and Windows (at least mesquite/ , perhaps also images, jars).
- Make the downloaded bundles for each OS:
- MacOSX: Use Disk Utility to create a disk image from the folder (e.g. Mesquite 3) that contains Mesquite_Folder. HOWEVER you also need to sign the dmgs that are made using codesign --force --sign "Developer ID Application: Username of Developer"
- Linux: cd into Mesquite_Folder, and strip out hidden files using find . -name ".*" -exec rm -rf {} ; Then use GuiTAR or other program to create .tgz file from Mesquite_Folder
- Windows: cd into Mesquite_Folder, and strip out hidden files using find . -name ".*" -exec rm -rf {} ; Then zip directory using NOT the standard MacOS X Compress File feature, but instead something like YemuZip that removes the extraneous files etc. made by the Mac.
###GitHub
- do all needed pull requests. Do this after everything, including notices.xml, is updated.
- do formal release in repository
###Documentation (Wiki)
- update Release Dates page
- update Citing Mesquite page
- update version number on home page
- convert wiki to PDF and upload to mesquiteproject.org
###Server files
- change log file names to nameDATE.log so that new ones will initiate from point of release
- adjust python files (e.g. mesquiteFeedback.py) if needed
- (one-time setup) Files on server Mesquiteproject.org are
- /Library/WebServer/Mesquite/
- mesquite
- addenda (ad hoc, not much used)
- BeanTree (archival)
- development (archival)
- images (just in case)
- notice
- notices.xml (the main NOTICES file!)
- pairwise (archival)
- salticidae (archival)
- updates
- updates.xml (the main UPDATES file!)
- error.html (file not found, indicates documentation now on wikispaces)
- index.html (indicates documentation now on wikispaces)
- mesquite.html = index.html
- Mesquite_Folder
- docs
- mesquite
- manual.html (indicates documentation now on wikispaces)
- mesquite
- docs
- mesquite 0.98 (archival)
- etc.
- mesquite 2.75 (archival)
- packages (the main additional PACKAGES directory)
- pdap_mesquite
- mesquite
- /Library/WebServer/mesquite_logs (contains logs of phoning home & error reports)
- /Library/WebServer/Mesquite/
- Redirects on mesquiteproject.org are:
- mesquite/index.html to http://mesquiteproject.wikispaces.com
- mesquite/mesquite.html to http://mesquiteproject.wikispaces.com
- mesquite/Mesquite_Folder/docs/mesquite/manual.html to http://mesquiteproject.wikispaces.com
- mesquite/download/index.html to http://mesquiteproject.wikispaces.com/Installation