====== Requirements ======
===== General requirements =====
You need the following components on the desktop on which you are going to develop your synchronization tasks:
* Java Virtual Machine (JDK) >= 1.5 (tested on Sun 1.5 and 1.6 VM)
* [[http://maven.apache.org/download.html|Maven 2.0+]] (tested from 2.0.7)
* [[http://ant.apache.org/bindownload.cgi|Ant 1.6+]]
Target production servers need:
* on **Unix / Linux**: a Java 1.5 virtual machine (JRE) (production must be the same major version), /bin/sh and /etc/cron.d
* on **MacOS**: fully functional on MacOS X
* on **Windows**: some problems have been identified with the generation wizard, but the LSC is fully functional
===== Setting up your environment =====
==== Java ====
* Check that the ''JAVA_HOME'' environment variable is set up. If not, set it up with a command like this (adapt the path to your system):
$ export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun
==== Maven ====
* Add the ''mvn'' command line wrapper to Maven in your path (through ~/.bashrc or something equivalent)
==== Ant ====
* Check that the ''ANT_HOME'' environment variable is set up, or set it up with the following command line:
$ export ANT_HOME=/usr/share/ant
* Currently, the version of ant packaged in Ubuntu contains a weird patch which makes it incompatible with AntInstaller and the "native2ascii" task. We recommend using installing your own version of ant.
===== IDE requirements =====
If you want to customize your synchronization tasks at an advanced level, you can edit some Java classes. This is beyond the scope of a simple installation tutorial, however.
IDE requirements are described [[.:development:ideintegration|here]].