Difference between revisions of "Developer Info"

From OPeNDAP Documentation
m (AWS Tips)
m (General development information)
Line 37: Line 37:
* [[Australian BOM Software Developer's Agenda and Presentations|Software Developers Workshop]]
* [[Australian BOM Software Developer's Agenda and Presentations|Software Developers Workshop]]
== General development information ==
These pages contain general information relevant to anyone working with our software:
* [[Git Hacks and Tricks]]: Information about using git and/or GitHub that seems useful and maybe not all that obvious.
* [https://wiki.wxwidgets.org/Valgrind_Suppression_File_Howto Valgrind - How to generate suppression files for valgrind] This will quiet valgrind, keeping it from telling you OS/X or Linux (or the BES) is leaking memory.
* [[Migrating source code from SVN to git]]: How to move a large project from SVN to git and keep the history, commits, branches and tags.
* [https://developer.mozilla.org/en-US/docs/Eclipse_CDT Eclipse - Detailed information about running Eclipse on OSX from the Mozzilla project]. Updated in 2017, this is really good but be aware that it's specific to Mozilla so some of the tips don't apply. Hyrax (i.e., libdap4 and BES) also use their own build system (autotools + make) so most of the configuration information here is very apropos. See also [[How to use Eclipse with Hyrax Source Code]] below.
* [https://jfearn.fedorapeople.org/en-US/RPM/4/html/RPM_Guide/index.html RPM Guide] The best one I'm found so far...
* [https://autotools.io/index.html Autotools Myth busters] The best info on autotools I've found yet (covers ''autoconf'', ''automake'', ''libtool'' and ''pkg-config'').
* The [https://www.gnu.org/software/autoconf/autoconf.html autoconf] manual
* The [https://www.gnu.org/software/automake/ automake] manual
* The [https://www.gnu.org/software/libtool/ libtool] manual
* A good [https://lldb.llvm.org/lldb-gdb.html gdb to lldb cheat sheet] for those of us who know ''gdb'' but not ''lldb''.
== OPeNDAP Development process information  ==
== OPeNDAP Development process information  ==

Revision as of 17:21, 3 May 2017


The OPeNDAP FAQ has a pretty good section on developer's questions.

2 OPeNDAP 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.

3 libdap4 and BES Reference documentation

4 BES Development Information

5 OPeNDAP Development process information

These pages contain information about how we'd like people working with us to use our various on-line tools.

  • 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.
  • How to Plan a Release Sprint A general template for planning a release in Jira or the equivalent.
  • Making a Release. Once software is ready for distribution, use this checklist to make sure you do all of the steps needed to make a release.
  • Making RPM Distributions. Follow these steps to create an RPM distribution of the software.
  • 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.
  • Bug Prioritization. How we prioritize bugs in our software.
5.1 Software process issues:

5.2 AWS Tips

6 General development information

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

7 Old information

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