Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

There is a style guide, which should prevent some extravagant commits full of formatting changes.

 

Build - Maven

Committing Code

  • Use Use "mvn clean verify" to run tests,  "mvn clean install" to build and install in local Maven repository (where it can be found by other local projects).

  • When adding new classes, they should probably not go in the kernel.  Look for a submodule or separate project that's appropriate for the functionality you're adding.  Ask if it's not clear where something should go.
  • fcrepo-http-api (https://github.com/futures/fcrepo4/tree/master/fcrepo-http-api) is a good example to follow when setting up new modules (though new modules should be in a separate repo, not in fcrepo4).
  • Logging output can be configured using System properties.  In general, stacktraces, RDF graph dumps and other verbose output should be logged at DEBUG or higher log level, even in tests.  WARN and ERROR should be reserved for unhandled exceptions, failures to persist data, and other repository errors (not client errors that have been successfully handled and reported to the client).
  • fcrepo-kitchen-sink is a project that pulls everything into a single build for demo purposes.
  • New modules added to fcrepo-kitchen-sink need to be added to jenkins (who can do this? anything else?)