This repository is for the OML abstract syntax, textual syntax, graphical syntax, API and specification.
It also publishes the following artifacts (see the OML specification for using instructions):
- Maven libraries that provides OML APIs for JVM languages.
- P2 update site that provides native OML support in the Eclipse IDE.
- LSP server that provides OML support in editors that support LSP.
- OML specification that provides the OML documentation.
git clone https://github.com/opencaesar/oml.git
cd oml
Dependencies: Gradle 7.6.+, Maven 3.9.+, Java 17+
./gradlew build
mvn verify
If you want to generate the OML spec, you first need to have both bikeshed and graphviz installed in the environment, then invoke:
./gradlew generateDocs
The generated spec can then be opened from io.opencaesar.oml.specification/build/bikeshed/index.html
To setup a development environment for oml:
Preparation:
- Install/use a recent version of
Eclipse IDE for Java and DSL Developers
- Launch the Eclipse IDE and create a new workspace (recommended)
- Switch to the Java perspective from Window -> Perspective -> Open Perspective -> Other -> Java
- Show the Project Explorer view (if hidden) by selecting Window -> Show View -> Project Explorer
- Turn off automatic build from Project -> Build automatically (uncheck)
Import:
- Import the cloned project using File -> Import -> Maven -> Existing Maven Projects -> Browse (select the root of the clone folder) -> Finish
- Right click on the root
oml
project in the Project Explorer view and select from the context menu Gradle -> Refresh Gradle Project - At this point, you should have all projects loaded in your workspace
Build:
- In Project Explorer, navigate to the file oml/io.opencaesar.oml.target/io.opencaesar.oml.target.target and double click to open its editor
- Wait for the resolution of the target platform to finish (watch the percentage at the bottom-right of the IDE window)
- Once the target platform is resolved, click in th editor on the link (top-right) saying "Set as Active Target Platform" then close the editor
- Turn on automatic build from Project -> Build automatically (check)
- The build will start, wait for it to finish (watch the percentage at the bottom-right of the IDE window)
- At this point, you should have all projects building without errors
To change version:
- In Project Explorer, navigate to the file oml/version.txt and double click to open its editor (note the current version)
- Using a terminal window, navigate to the root of the clone folder
- Execute the script ./setversion
<new-version>
(replace<new-version>
) - Back in Eclipse IDE, right click on the root project in Project Explorer view and select Refresh
- Wait for the build to finish