h1. Eclipse Sirius

!https://travis-ci.org/pcdavid/org.eclipse.sirius.svg?branch=master!:https://travis-ci.org/pcdavid/org.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 Luna-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.
