OLFSReleaseGuide

From OPeNDAP Documentation
Revision as of 23:53, 12 September 2013 by Ndp (talk | contribs)
⧼opendap2-jumptonavigation⧽

<< back to HowTo Guides


Make sure the code is ready to release

First, make sure that the source code you're using is on a branch, up-to-date (svn up) and that the software passes its tests and no outstanding tickets remain for the release milestone.

Check out the OLFS code from subversion

% svn co https://scm.opendap.org/svn/branch/olfs/hyrax-1.9 olfs

Build the OLFS

In the checked out OLFS directory run the command:

% ant server

Run the make-check script located in the olfs directory

This script will run a series of tests between the OLFS and an already installed BES. The BES should be configured with the netcdf_handler, freeform_handler, and hdf4_handler modules. If it's not already running the make-check script will start it. Or you can start the BES yourself. This requires that hyrax is running on localhost:8080.

% make-check

Note: You can use the script mkTestPatch to see the diffs of any broken tests.

Determine Version Number

  1. Look in the NEWS and README files to determine the previous version number.
  2. Determine new version number by looking at the changes to the code (start by reviewing the ChangeLog file)
    • Versioning rules: What the MAJOR.MINOR.REVISION string means:
      • No interfaces changed, only implementations (good): ==> Increment REVISION.
      • Interfaces added, none removed (good): ==> Increment MINOR, set REVISION to 0.
      • Interfaces removed or changed (BAD, breaks upward compatibility): ==> Increment MAJOR, set MINOR and REVISION to 0.
  3. Remember the new version number so that it can be used to:
    • Update the release related files
    • Build the versioned software distribution bundles.

Edit the release related files

ChangeLog
Update the ChangeLog file using the script update_cl.sh which can be found in the svn-tools project. (e.g., ~/svn-tools/update_cl.sh ChangeLog). If you're making the first ChangeLog entries, then you'll need to create the ChangeLog file first. Here's a key tip: When you're making the commit log entries, always include the file name(s) of the affected files in your entry. Then to write the NEWS file, just read over the new ChangeLog entries and summarize. In the old days of CVS, the logs automatically included the names of the changed files, but subversion doesn't do that. A little discipline with those log entries will go a long way toward streamlining the release process!
README
Update version number.
Review content to make sure it's current.
NEWS
Add new version number and,
Summarize the new additions to the change log. There may be many checkins associated with new feature development. You can summarize those as "Added 'X' feature."
install.html
Update version number.
Review content to make sure it's current.

Build the versioned distribution bundles using whatever the version is of this release.

% ant -DOLFS_VERSION=1.2.3  -DHYRAX_VERSION=4.5.6 DISTRO

This will create the three compressed tar files for the release.

These tar files will be located in the build/dist directory and are:

olfs-1.2.3-doc.tgz
contains the javadoc documentation for the release
olfs-1.2.3-src.tgz
the source files for the release
olfs-1.2.3-webapp.tgz
contains the instructions and .war file that will be used in the tomcat webapps directory.