====== Development Documentation ====== The following documentation is about developing LSC itself - not a LSC synchronization task. Make sure you've read all the [[..:start|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 [[environment|these set-up]]. You should follow [[codestyle|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! * http://lsc-project.org/apidocs/ This can be very useful to get a function name to call from SyncOptions in the configuration file (see [[http://lsc-project.org/apidocs/org/lsc/beans/AbstractBean.html|AbstractBean]], [[http://lsc-project.org/apidocs/org/lsc/utils/directory/AD.html|AD]], [[http://lsc-project.org/apidocs/org/lsc/jndi/ScriptableJndiServices.html|ScriptableJndiServices]], [[http://lsc-project.org/apidocs/org/lsc/utils/DateUtils.html|DateUtils]]...) It is updated nightly based on the SVN trunk. ===== Development tools ===== ==== Continuous build system ==== Hudson follows all commits on the SVN: http://build.lsc-project.org. It provides LSC-core snapshots built against the latest source code [[http://build.lsc-project.org/hudson/view/LSC/job/lsc-core/|here]]. ==== Regenerating the "generateWizard" ==== To do this, you must have installed and configured the path to AntInstaller as described [[:documentation:development:environment|here]]. Then, in the lsc-sample directory, run the following command: $ ant lsc::buildGenerateWizard This will generate the file ''lib/lsc-sample-generator.jar''. To adapt what the wizard does, see the ''src/install/resources/build-generator.xml'' file, which is a normal Ant buildfile. ===== Modifying commonly-used Java classes ===== See this documentation, which is a bit out of date but still useful: [[realworldmodifications|Real-world modifications]]. ===== Releasing ===== See these notes on [[release|doing a release]]. ===== Packaging ===== * See [[.:packaging:rpm]] for more details ;