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…)

It is updated nightly based on the SVN trunk.

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