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 match these requirements:
Java Virtual Machine (JDK) >= 1.8
Maven >=2 (Maven 3 recommended)
Add the mvn command line wrapper to Maven in your path (through
~/.bashrc
or something equivalent)You can use Eclipse, NetBeans,… to edit the Java code. Integrating LSC and its Maven dependencies is described here.
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¶
You can find LSC on GitHub: https://github.com/lsc-project. There you can fill bugs, see the history of commits,…
Running tests¶
Note
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 does not require OpenDJ but you must skip tests:
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