Code Monkey home page Code Monkey logo

emfjson-jackson's Introduction

EMF.cloud: EMF JSON-Jackson

build-status p2-deploy-status m2-deploy-status

EMF JSON-Jackson provides a JSON binding for EMF (Eclipse Modeling Framework) using Jackson, that allows serialization and deserialization of EMF Resources in JSON.

IMPORTANT: This projects was originally hosted by emfjson/emfjson-jackson and was moved to Eclipse in 2021. Due to the move several names (packages, bundle, groupId, artifactId) were adapted and a new version of the p2 bundles and the maven artifacts was released.

This is how a model looks like in JSON format.

{
    "eClass" : "http://www.eclipse.org/emf/2002/Ecore#//EPackage",
    "name" : "model",
    "nsPrefix" : "model",
    "nsURI" : "http://www.example.org/model",
    "eClassifiers" : [
        {
            "eClass" : "http://www.eclipse.org/emf/2002/Ecore#//EClass",
            "name" : "Library"
        }
    ]
}

Building

The EMF JSON-Jackson bundles are built with Java 11 or higher and maven. Execute mvn clean verify -Pm2 to build the Maven artifacts. The nightly builds are available as maven repository or p2 update site.

Maven m2-deploy-status

To use the Maven artifact add the following dependency to your POM file:

<dependency>
	<groupId>org.eclipse.emfcloud</groupId>
	<artifactId>emfjson-jackson</artifactId>
	<version>...</version>
</dependency>

If you want to consume the nightly builds you have to configure the sonatype snapshot repository in your pom.xml:

<repositories>
    <repository>
        <id>oss.sonatype.org-snapshot</id>
        <url>http://oss.sonatype.org/content/repositories/snapshots</url>
        <releases><enabled>false</enabled></releases>
        <snapshots><enabled>true</enabled></snapshots>
    </repository>
</repositories>

P2 Update Site p2-deploy-status

This update sites contain the bundle and feature for emfjson-jackson and Jackson.

Development

Development can be done with any Java IDE (Eclipse, IntelliJ, etc.), it does not require any special tooling except Maven.

git clone https://github.com/emfjson/emfjson-jackson.git
[go inside directory emfjson-jackson]
mvn clean verify

This command will call the xtext:generate action that will generate the code from the Xcore model for the tests.

The tests can be run with the maven command: mvn clean test (or by running class TestSuite from your IDE). The tests require some code to be generated from a Xcore model. This generated code is not included in this repository, but is generated when the sources are first build locally.

Documentation and Support

You can find documentation on EMF JSON-Jackson in our wiki page.

If you have questions, please raise them on our discussions page and have a look at our communication and support options.

For further information on EMF.cloud, please visit the Eclipse EMF.cloud Umbrella repository and the Eclipse EMF.cloud Website.

If you plan on contributing to this project, please see the Contribution Guidelines.

emfjson-jackson's People

Contributors

dependabot[bot] avatar eneufeld avatar gg-dim avatar ghillairet avatar janhicken avatar maho7791 avatar martin-fleck-at avatar ndoschek avatar planger avatar sgraband avatar tortmayr avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.