Skip to content

eclipse-sirius/sirius-emf-json

Repository files navigation

Eclipse Sirius EMF JSON

This project is part of Eclipse Sirius. It provides a JSON-based implementation of EMF resources which can be used as a drop-in replacement for the default XMI-based format.

Although it is part of Sirius, this new EMF resource type can actually be used by any EMF-based application as it does not depend on the rest of the Sirius platform (neither Sirius Desktop nor Sirius Web).

Building

The build uses Apache Maven (version 3.6.3) and Tycho. To launch a complete build, issue:

mvn clean package -f releng/org.eclipse.sirius.emfjson.releng/pom.xml

from the top-level directory.

Warning
Note that you will need to use Java 11 to run the build. Java 12 and later are currently not supported.

If you are behind a proxy, you may get Maven errors about checkstyle.org not being available. In this case you need to explicitly disable CheckStyle from the build:

mvn clean package -f releng/org.eclipse.sirius.emfjson.releng/pom.xml -P\!checkstyle

The resulting update-site (p2 repository) can be found in repositories/org.eclipse.sirius.emfjson.repository/target/repository.

Usage

To use EMF JSON resources, simply register the org.eclipse.sirius.emfjson.resource.JsonResourceFactoryImpl resource factory in your resource set or in the global resource factory registry. For example:

Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("json", new JsonResourceFactoryImpl());

If you are running in the context of the Eclipse Platform, the org.eclipse.sirius.emfjson.ide plug-in does this automatically and also registers the corresponding Content-Type.

See the org.eclipse.sirius.emfjson.resource.JsonResource for various options that can be used to control the serialisation/deserialisation process (e.g. whether to pretty-print the JSON).

License

Eclipse Public License - v 2.0