This repository comprises the source code of a code generator that transforms LEMMA domain models into Jolie APIs.
There are basically two possibilities to invoke the generator.
- Clone the repository,
cdinto the cloned folder and run thedocker-build.shBash script. The script will build the generator's container imagelemma2jolie:latest. - Run the
docker-run-sample.shBash script to start a container based on thelemma2jolie:latestimage and invoke the generator on thesample.dataLEMMA domain model in the cloned repository folder. This invocation results in the filesample.olin the cloned repository folder. It comprises the Jolie code corresponding to the LEMMA domain model. - To invoke the generator on another LEMMA domain model than
sample.data, run thedocker-run.shBash script with the respective LEMMA domain model. Upon success, the generator will produce a Jolie file in the same directory and with the same base name as the LEMMA domain model. For instance, the LEMMA domain model/tmp/domain.datawill be generated in the Jolie file/tmp/domain.ol.
Prerequisites: Java 11 and Maven >= 3.6.3.
- Clone the repository,
cdinto the cloned folder and run theinstall.shBash script. The script will install all necessary dependencies for the generator in your local Maven repository and finally invokemvn clean install. The latter command results in the executable generator filetarget/lemma2jolie.jar. - Run the
run-sample.shBash script to invoke the generator's JAR file on thesample.dataLEMMA domain model in the cloned repository folder. This invocation results in the filesample.olin the cloned repository folder. It comprises the Jolie code corresponding to the LEMMA domain model. - To invoke the generator on another LEMMA domain model than
sample.data, run therun.shBash script with the respective LEMMA domain model. Upon success, the generator will produce a Jolie file in the same directory and with the same base name as the LEMMA domain model. For instance, the LEMMA domain model/tmp/domain.datawill be generated in the Jolie file/tmp/domain.ol.