To run Epsilon from source, you need to:
- Download a copy of the latest version of Eclipse and select the "Eclipse IDE for Eclipse Committers" option when prompted during the installation process.
- Clone the Git repository (from ssh://email@example.com:29418/epsilon/org.eclipse.epsilon.git if you're an Epsilon committer, or from git://git.eclipse.org/gitroot/epsilon/org.eclipse.epsilon.git if you're not). To clone the repository as a committer you first need to add your public key to Gerrit.
- Import all the projects under the plugins, features, and tests folders in your workspace.
- (optional) To organise your workspace, you can create working sets. For example, you could create three working sets that mirror the contents of the folders above (plugins, features, and tests).
- Open plugins/org.eclipse.epsilon.targetplatform/org.eclipse.epsilon.targetplatform.target and click the "Set as Active Target Platform" link on the top right
- Right-click on any Epsilon plugin project in the Project Explorer and select Run as → Eclipse Application
- The execution engines for the various Epsilon languages are located in org.eclipse.epsilon.*.engine plugins. These are Eclipse-independent.
- Plugins named *.dt contain development tools (e.g. editors, run configurations, debuggers) for the respective Epsilon languages.
- Plugins named org.eclipse.epsilon.emc.* contain Epsilon Model Connectivity (EMC) drivers through which Epsilon languages can interact with different types of models (e.g. EMF models, spreadsheets etc.)
- Plugins named org.eclipse.epsilon.emc.*.dt contain development tools (e.g. model configuration dialogs) for the respective EMC drivers.
- Plugins named *.workflow contribute ANT tasks.
Modifying the Epsilon parsers
- If you wish to modify the parsers (syntax) of Epsilon languages you also need to clone the following repository next to Epsilon's Git repository on your machine: https://github.com/epsilonlabs/epsilon-antlr-dev.git
- To modify e.g. the EVL parser, you need to change Evl.g and/or EvlParserRules.g. To re-generate the parser you need to run build-evl-parser.xml as an Ant build.
- Since all Epsilon languages extend EOL, if you modify the EOL parser, you'll then need to run build-all-eol-dependent-parsers.xml
Running the Epsilon tests
- After making any changes to the Epsilon source code, you're advised to run the Epsilon test suites to avoid regressions. Epsilon provides two main test suites: EpsilonTestSuite and EpsilonPluggedInTestSuite (the latter needs to be run as a JUnit Plug-In Test)
Epsilon has several optional dependencies to projects such as EMF, GMF, Sirius and Emfatic. To get rid of any compilation errors upon importing the Epsilon projects to your workspace, please close the respective projects (Right click → Close Project) or install the missing dependencies.