Was this page helpful?

Developer Setup

Cloning the Repository

git clone git@github.com:lf-lang/lingua-franca.git
cd lingua-franca
git submodule update --init --recursive

Building from the Command Line

Command Line Tools

You can build the Lingua Franca compiler and other CLI tools with Gradle using ./gradlew clean buildAll.

There are scripts in bin which you can use to run the compiler or other tools. For instance: ./bin/lfc --version.

Epoch

The Epoch IDE is in a separate repository. Follow the instructures there in the README file.

Running Test

Lingua Franca comes with unit and integration tests. More details can be found here.

Unit Tests

The unit tests can be run with Gradle using ./gradlew test --tests "org.lflang.tests.compiler.*".

Integration Tests

All integration tests can be run with Gradle using ./gradlew test --tests "org.lflang.tests.runtime.*". By specifying the concrete test class, it is also possible to run only tests for a specific target. For instance the Python tests can be run with ./gradlew test --tests "org.lflang.tests.runtime.PythonTest.*". For convenience, there is also a script which can be used for running the integration tests for a specific target. For instance: ./bin/run-lf-tests Python.

Sometimes it is useful to only run a single integration test. This can be done with the runSingleTest Gradle task. For instance: ./gradlew runSingleTest --args test/C/src/Minimal.lf.

IDE Integration

You will likely want to use an IDE for working with the code base. For development of the core tools, any IDE that integrates with gradle can be used. We recommend our IntelliJ setup. If you plan to contribute to the Epoch IDE, you should use the Oomph setup for Eclipse.

Lingua Franca is an open source project. Help us improve these pages by sending a Pull Request

Contributors to this page:
CMChristian Menard  (6)
PDPeter Donovan  (4)
Eeal  (2)
EALEdward A. Lee  (1)
MLMarten Lohstroh  (1)
HKHokeun Kim  (1)
ARAnirudh Rengarajan  (1)

Last updated: Mar 30, 2023