Developer Info: Difference between revisions

From OPeNDAP Documentation
⧼opendap2-jumptonavigation⧽
Line 9: Line 9:
These pages contain general information relevant to anyone working with our software:
These pages contain general information relevant to anyone working with our software:


* [[Hyrax GitHub Source Build]] This explains how to clone our software from GitHun and build our code using a shell like bash. It also explains how to build the BES and all of the Hyrax 'standard' handlers in one operation, as well as how to build just the parts you need without cloning the whole set of repos. Some experience with 'git submodule' will make this easier, although the page explains everything.
* [[Hyrax GitHub Source Build]] This explains how to clone our software from GitHub and build our code using a shell like bash. It also explains how to build the BES and all of the Hyrax 'standard' handlers in one operation, as well as how to build just the parts you need without cloning the whole set of repos. Some experience with 'git submodule' will make this easier, although the page explains everything.
* [[ConfigureCentos| How to configure a CentOS machine for production of RPM binaries]] - Updated 12/2014 to include information regarding git.
* [[ConfigureCentos| How to configure a CentOS machine for production of RPM binaries]] - Updated 12/2014 to include information regarding git.
* [https://developer.mozilla.org/en-US/docs/Eclipse_CDT Eclipse - Detailed information about running Eclipse on OSX from the Mozzilla project]. Maybe a bit out of date.
* [https://developer.mozilla.org/en-US/docs/Eclipse_CDT Eclipse - Detailed information about running Eclipse on OSX from the Mozzilla project]. Maybe a bit out of date.

Revision as of 14:54, 11 September 2015

  • 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.

Developer Guidelines and Information

The OPeNDAP FAQ has a pretty good section on developer's questions, especially regarding SVN.

General development information

These pages contain general information relevant to anyone working with our software:

Older information - most of these pages describe building Hyrax using source code checked out from our SVN repository. The newer pages (above) that describe using source from GitHub are probably what you want. These pages, however, have some potentially useful information about the third-party code you need if building on an older version of Linux or OS/X.

Workshops

  • 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.

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.

Using revision control:

Note: The following is all about using Subversion and is out of date as of November 2014 when we switched to git. There are still good ideas here...

  • 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
Making specific kinds of packages for release:
Software process issues:

About Subversion