- Nightly Builds: Software we build every night on several platforms. The link provides the most recent report for each build we do. Use show=current to get the most recent; show=<date> to get a particular date, show=<platform> to see a particular platform. The sort=yes option runs the results through Unix sort before building the table. The nightly build software is part of the nbuilds project and is available from our trac/svn repository.
- test.opendap.org: Test servers with data files.
1 Developer Guidelines and Information
The OPeNDAP FAQ has a pretty good section on developer's questions, especially regarding SVN.
2 General development information
These pages contain general information relevant to anyone working with our software:
- How to configure a Linux machine to build Hyrax from SVN
- How to configure a CentOS machine for production of RPM binaries
- How to configure a SUSE machine for production of RPM binaries
- How to configure an Amazon Linux AMI for EC2 Instance To Build Hyrax
- Notes from setting up Hyrax on our new web host
- Eclipse - How to Setup Eclipse in a Shrew Checkout This includes some build instructions
- Eclipse - Detailed information about running Eclipse on OSX from the Mozzilla project
- Migrating from SVN to git
- Using the Unified Build for Hyrax Under construction 12/2/14
- The APAC/BOM Workshops: This workshop spanned several days and covered a number of topics, including information for SAs and Developers. Oct 2007.
- ESIP Federation Server Workshop: This half-day workshop focused on server installation and configuration. Summer 2008
- Server Functions: This one-day workshop is all about writing and debugging server-side functions. It also contains a wealth of information about Hyrax, the BES and debugging tricks for the server. Spring 2012. Updated Fall 2014 for presentation to Ocean Networks Canada.
3 Development process information (OPeNDAP Specific)
These pages contain information about how we'd like people working with us to use our various on-line tools.
3.1 Using revision control:
- Using the SVN trunk, branches and tags to manage releases.
- Making a Branch of Shrew for a Server Release. Releases should be made from the trunk and moved to a branch once they are 'ready' so that development can continue on the trunk and so that we can easily go back to the software that mad up a release, fix bugs, and (re)release those fixes. In general, it's better to fix things like build issues, etc., discovered in the released software on the trunk and merge those down to the release branch to maintain consistency, re-release, etc. This also means that virtually all new feature development should take place on special feature branches, not the trunk.
- Making a Source Release. Once software is ready for distribution, use this checklist to make sure you do all of the steps needed to make a source release.
- How to merge code
3.2 Making specific kinds of packages for release:
- Making RPM Distributions. Follow these steps to create an RPM distribution of the software.
- Hyrax Package for OS-X. This describes how to make a new OS/X 'metapackage' for Hyrax.
- Making Windows XP distributions. Follow these directions to make Windows XP binaries.
- Making a Release of OLFS. Follow these steps to create the three .jar files needed for the OLFS release. Includes information on how to build the OLFS and how to run the tests.
- Making a Matlab Ocean Toolbox Release. Follow these steps when a new Matlab GUI version is ready to be released.
3.3 Software process issues:
- How to write unit tests using CppUnit
- How to use valgrind with unit tests
- How to copyright software written for OPeNDAP
- Development Guidelines
- Managing public and private keys using gpg
- How to Setup Secure Email and Sign Software Distributions
- How to Handle Email-list Support Questions
- Security Policy and Related Procedures
- Software version numbers