This projects requires Java 8, to maximize compatibility.
We require Java 11 for building the project, while the artifacts published are compatible with Java 8.
Take a look at the Documentation.
The project is actively maintained. Feel free to open issues to ask any question, help, or support.
For visibility on the future plans regarding this project refer to the Roadmap.
Currently the project is on-par with the LionWeb specifications.
In particular, this library supports both version 2023.1 and 2024.1 of the specs.
dependencies {
implementation("io.lionweb.lionweb-java:lionweb-java-2024.1-core:$lionwebVersion")
}
Before opening in IDEA run:
./gradlew setup
This will generate necessary classes.
Contains LionCore (M2) and LionWeb (M1) implementations in Java, including (de-)serializers from/to JSON.
Contains im/exporters to convert models between LionCore ↔ Ecore and LionWeb ↔ EMF.
Some of LionCore's built-in elements have no direct representation in Ecore.
This sub-project is an Eclipse project that defines an EPackage builtins
to host the equivalent elements in Ecore.
The language's nsURI is http://lionweb.io/lionweb-java/emf/core/builtins/2023.1
.
The Changelog is here.
To ensure proper testing coverage we configured Jacoco.
You can run ./gradlew jacocoTestReport
and then find the report for each module, under build/reports/jacoco
.
Run from the root of the project:
flatc --java -o core/src/main/java core/src/main/flatbuffers/chunk.fbs
flatc --java -o extensions/src/main/java extensions/src/main/flatbuffers/bulkimport.fbs
This project is part of the LionWeb initiative.
The project is currently maintained by Federico Tomassetti with contributions from:
- Ulyana Tikhonova
- Meinte Boersma
- Niko Stotz
- Tiago Baptista
Contributions include support in the design, code contributions, code reviews, and bug reports.