Development Documentation

The following documentation is about developing LSC itself - not a LSC synchronization task. Make sure you've read all the general documentation before continuing here!

Working environment

As well as the general Requirements, you need some extra tools to hack LSC - make sure you get these set-up.

You should follow our defined code style.

Java API for LSC-core

The JavaDoc is generated from comments in LSC code. It needs a lot of improvement, all comments in code are very welcome!

This can be very useful to get a function name to call from SyncOptions in the configuration file (see LscBean, AD, ScriptableJndiServices, DateUtils

Development tools

Running tests

Tests are run through Maven.

Run all tests (opendj profile required) :

  mvn -Popendj test

Run one test, named MyTest (note: don't put in the classpath here, write MyTest not org.lsc.MyTest!):

  mvn -Popendj -Dtest=MyTest test

Don't run tests:

  mvn -Dmaven.test.skip=true someOtherTarget

Building

Various builds can be done :

  • the standard build requires OpenDJ to run tests.
  mvn -Popendj clean package
  • the light build do not require OpenDJ but you must
  mvn -Dmaven.test.skip=true clean package
  • a build including PostgreSQL jar (can be with or without OpenDJ)
  mvn -Ppostgresql -Popendj clean package

Releasing

See these notes on doing a release.

Run LSC under Eclipse

This section covers:

  • Integration of LSC in an Eclipse (netbeans) environment
  • Installation of maven integrated plugin in ide environnement
  • Running / debuging LSC

Please follow: Integrated Development Environment Integration