Execution engine for Legend. It provides:
- A Pure parser and compiler.
- An execution engine, generating and/or executing execution plans when provided with a Pure function, a Mapping and a Runtime.
- Access point for model transformers written using the Pure language (soon to come).
- This applications uses Maven 3.6+ and JDK 11. Simply run
mvn install
to compile. - In order to start the server, please use the
Main
classorg.finos.legend.engine.server.Server
with the parameters:server legend-engine-server/src/test/resources/org/finos/legend/engine/server/test/userTestConfig.json
. - You can test by trying http://127.0.0.1:6300 in a web browser. The swagger page can be accessed at http://127.0.0.1:6300/api/swagger
Given the size of the project, developers should consider using paralellism to speed up build times, given enough RAM is provided. In IntelliJ IDEA, this can be done by setting
Thread Count
(inPreferences > Build, Execution, Deployment > Build Tools > Maven
) andShared build process heap size (Mbytes)
(inPreferences > Build, Execution, Deployment > Compiler > Java Compiler
). For example, settingThread Count
to4
andShared build process heap size (Mbytes)
to30000
can significantly reduce build times, you need to fine-tune this to match your machine's specs.
⚠️ It's also important to disableClear output directory on rebuild
inPreferences > Build, Execution, Deployment > Complier
as this blows away generated resources needed for running the servers from the IDE.
If you're making changes to the Pure
codebase, it's highly recommended that you also spin up our Pure IDE
application:
- In order to start the server, please use the
Main
classorg.finos.legend.engine.ide.PureIDELight
with the parameters:server legend-engine-pure-ide-light/src/main/resources/ideLightConfig.json
. - You can now access the IDE at http://127.0.0.1:9200/ide in a web browser.
Visit our roadmap to know more about the upcoming features.
Visit Legend Contribution Guide to learn how to contribute to Legend.
Copyright 2020 Goldman Sachs
Distributed under the Apache License, Version 2.0.
SPDX-License-Identifier: Apache-2.0