Diagrams and visual languages are a great thing, but getting the layout just right for them to be easily understandable can be tedious and time-consuming. The Eclipse Layout Kernel provides a number of layout algorithms as well as an Eclipse-based infrastructure to connect them to editors and viewers. The layout algorithms are plain Java and can thus also be used outside of Eclipse.
- The ELK homepage
- ... and ELK's documentation
- ELK Live (web-based playground to play around with ELK)
- elkjs (JavaScript library transpiled from ELK's Java sources)
The repository's structure is pretty straightforward. We only have a few folders:
build
: Contains all the files necessary to build ELK in all its different forms.config
: Contains configuration files, such as our Checkstyle configuration.docs
: Contains documentation in the form of a Hugo site.features
: Contains all the Eclipse features ELK consists of.plugins
: Contains all the plugins ELK consists of.setups
: Contains our Oomph setup files.tests
: Contains unit tests. Note that we have a whole repository dedicated to test models.
Information on how to build ELK and the documentation can be found on our website.
Build with java 17 and maven 3.9. All executions should be invoked from the build
directory.
Integration tests are executed as following:
mvn -Delk.metadata.documentation.outputPath=${ELK_REPO}/docs -Dtests.paths.elk-repo=${ELK_REPO} -Dtests.paths.models-repo=${ELK_MODELS_REPO} -Dmaven.repo.local=./mvnrepo clean integration-test
where ELK_REPO
and ELK_MODELS_REPO
are replaced by paths on your system. This also means that you need a local clone of https://github.com/eclipse/elk-models, to which you point ELK_MODELS_REPO
.
Simply building ELK can be done with
mvn -Delk.metadata.documentation.outputPath=${ELK_REPO}/docs -Dmaven.repo.local=./mvnrepo clean package
where ELK_REPO
is replaced by a path on your system.