ESE compiler
From ESEwiki
esec is back in the design stage. The first version was deemed too restrictive, so a new version is being written.
It will provide a plugin engine that allows plugins to be run to attain goals. The fuzziness is voluntary.
Each plugin integrates a chain of stages:
- to run, a plugin needs some stage to be attained; that's its requirement
- once run, a plugin makes esec attain a stage
The goal given by the user is the stage to attain. Starting from the init stage, esec calculates the shortest path to the required goal. All the plugins are then run to attain that goal:
- the plugins that ensure some same stage are run together (in parallel); the stage is attained when all the plugins are successfully run;
- each stage is run in good order, starting from init.
Each project has an eprom.xml file that describes its dependencies, and its plugins (see below the file syntax). All the dependencies and plugins are downloaded, the plugins are compiled and run.
Some useful plugins (not yet written):
- compile (calls the standard SmartEiffel compile command)
- eiffeldoc (calls the standard SmartEiffel eiffeldoc command)
- eseb
- edm
- tuf
- ...
Synopsis
- se esec --help
- se esec [--verbose] <goal...>
The options are:
| --help | Give help on the tool usage |
| --verbose | Tell the tool to talk about what it does (default is be quiet and just do the job) |
| <goal...> | Give one or more goals (stages to attain). |
ESE file syntax
The ESE file is named eprom.xml (Enterprise Project Model).

