h1. Eclipse Sirius

Sirius enables the specification of a modeling workbench in terms of graphical, table or tree editors with validation rules and actions using declarative descriptions.

For more details see "the project page":http://www.eclipse.org/sirius and "the main wiki page":http://wiki.eclipse.org/Sirius.

h2. Building

The build uses "Tycho":http://www.eclipse.org/tycho/. To launch a complete build:

bq. 
   % mvn clean package

from the top-level directory. The resulting update-site can be found in @packaging/org.eclipse.sirius.update/target/repository@.

By default the build uses a Kepler-based target platform. You can specify a different platform like this:

bq. 
  % mvn clean package -Dplatform-version-name=<name>

where @<name>@ can be any of the supported platform versions:
* @juno@ (Eclipse 4.2)
* @kepler@ (Eclipse 4.3)
* @luna@ (Eclipse 4.4M2)

The corresponding target platform definitions can be found in @releng/org.eclipse.sirius.targets@ in the @sirius_<name>.targetplatform@ and @sirius_<name>.target@ files.
