-
Notifications
You must be signed in to change notification settings - Fork 27
Mesquite Release Protocol
David Maddison edited this page Jan 1, 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)
- (major only) examine 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)
###Release packages
- (Possibly needed only once, for 3.0 release, see following note about OS-specific base folders) Prepare a universal base Mesquite_Folder containing the following. The jars folder is expanded to show you what should be in there. Make sure Mesquite_Folder doesn't contain classpaths.xml.
- com
- corejava
- documentation.html
- edu
- examples
- images
- jars
- commons-codec-1.6.jar
- commons-httpclient-3.1.jar
- commons-lang-2.3.jar
- commons-logging-1.1.1.jar
- dom4j-1.6.1.jar * gson-2.6.2.jar * httpclient-4.3.6.jar
- iText.jar
- Jama-1.0.1.zip
- JSci.zip
- pal.zip
- lesser.txt
- lib
- mesquite
- org
- startingMesquiteAndMemoryAllocation.txt
- (Possibly needed only once, for 3.0, with subsequent changes being simply copied to each OS-specific base folder). Prepare the OS-specific base Mesquite_Folders by copying the universal base three times, for OS X, Linux and Windows. The OS X-specific base Mesquite_Folder should be within an enclosing folder whose name reflects the current version (e.g. Mesquite 3/Mesquite_Folder). Into each, place the executables for the OS. These are:
- For OS X:
- Mesquite [1GB].app
- Mesquite [2GB].app
- Mesquite [500MB].app
- Mesquite_Start_Script.command
- For Windows:
- Mesquite [1GB].exe
- Mesquite [2GB].exe
- Mesquite [500MB].exe
- Mesquite_Start_Script.bat
- For Linux:
- mesquite.sh
- For OS X:
- For each release, copy the new versions of the changed folders (at least mesquite/ , perhaps also images, jars). into each of the three OS-specific base Mesquite_Folders. By doing this, you need have made the OS-specific base Mesquite_Folders only once, and can simply update them with each new release.
- 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
- 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 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
- last minute: upload update.xml, install.xml, etc., as needed
- 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