This repository contains the parts of the RoboCert prototype that are not the metamodel. This includes, as the name suggests, the textual editor; temporarily, it also contains the unit tests and CSP generator.
This is pre-release material. We greatly appreciate any suggestions, comments, and issues.
- Java 17. This should now be readily available for modern systems (I was able to install it on Ubuntu 20.04, for instance), but likely won't be your default install at time of writing.
- An Eclipse setup with plugin development tools and the latest version of RoboChart's metamodel, textual editor, and CSP generator checked out (see, for instance, the RoboChart textual editor dependency notes);
- For tests, Hamcrest 2.2. At time of writing, Eclipse and JUnit tend to ship Hamcrest 1.3. If using Eclipse, add the Eclipse Orbit repository (eg 2021-12) and get Hamcrest from there. Not doing this will result in Eclipse pulling in the wrong Hamcrest and spouting very cryptic errors.
Please inform us of any build failures.
$ mvn clean install
Known issues:
- If Maven fails at the test stage with a very large log backtrace mentioning
some combination of
circus.robocalc.robochart.generator.csp
andSWTError
, you may need to check the target environment triples Tycho is configured with; we depend on the RoboChart CSP generator, which depends on the Eclipse UI, which depends on SWT, and therefore needs to be told in advance if it's being built for an exotic platform (ie, not x86 Windows/Linux/macOS or Apple Silicon macOS).
- Right click
robostar.robocert.textual/src/robostar.robocert.textual/GenerateRoboCert.mwe2
- select 'Run As' > 'MWE2 Workflow'
- To run:
- Right click
robostar.robocert.textual.parent
- select 'Run As'
- double click 'Eclipse Application'
- Select the new configuration
- click 'Run'
- Right click
Whenever updating the tool, follow these steps:
- Perform regression testing
- Change the language reference manual
When the tool manual is created, there will be a further step to change that, too.
If changes to documentations are not possible immediately, create issues indicating exactly what needs to be done.