tree f945066cae7ac9a97441031f91ff671b2aaa567f
author Greg Trasuk <gtrasuk@apache.org> 1369638110 -0400
committer Greg Trasuk <gtrasuk@apache.org> 1369638110 -0400

Initial import of River Container project into git.

River Container began as jtsk/skunk/RiverSurrogate.  This import does two things: It begins the process of implementing the appropriate poms and project structure to build with Apache Maven, and it moves the project to a git repository.

Future work is required to finish the Maven build.  We need to add modules to build the reggie module sar, and to build the test container.  Later we need to add the module to build the default user container.