Maestro 2 is the next version of the Maestro Co-simulation Orchestration Engine.
Plese see our documentation here: https://into-cps-maestro.readthedocs.io/en/latest/user/getting-started.html
You need Java 11 and maven 3.6 to build the project. For the external / integration tests it also needs a functioning cpp environment with CMake (on windows MSYS). See guide below under CPP environment installation guide
The project can be built from CLI using the maven command:.
mvn package
IntelliJ IDEA provides an inbuilt support for all the steps involved in the development of the project. There is some Scala code in this project. As long as you keep this in mind, you are welcome to use any development IDE.
If IntelliJ fails to build the project after import, then it might be resolved by executing mvn install
in the
terminal and reimporting in the maven control panel of IntelliJ.
apt install git libzip-dev build-essential cmake
The release procedure roughly follows the Overture release procedure.
*Note: On Windows it is easiest to use Git Bash for steps 2, 3 and running the following release commands.
Make sure to be on the development branch. Then replace ${RELEASE_VER} with the release (e.g. 2.0.0) and ${NEW_DEV_VER} with dev version (e.g. 2.0.1-SNAPSHOT) in the following commands and run them. Press enter when prompted for SCM
mvn -Dmaven.repo.local=repository release:clean
mvn -Dmaven.repo.local=repository release:prepare -DreleaseVersion=${RELEASE_VER} -DdevelopmentVersion=${NEW_DEV_VER}
mvn -Dmaven.repo.local=repository release:perform
Note: If the release fails during release:prepare a rollback should be performed with release:rollback before running the above commands again.
After successfully running the commands check that the release is present in the sonatype staging repository. Then press Close in the sonatype ui. Sonatype will then run a number of checks and if these succeed press the Release button.
Create a release on Github from the newly created tag and include both the Maestro jar and the Maestro Web API jar. In the release description note significant changes and the jars MD5 checksums. Now go to the master branch, merge with the newly created tag, and push. REMEMBER TO GO BACK TO DEVELOPMENT BRANCH!
Furthermore, remember to update the download.json file in the development branch of INTO-CPS-Association/INTO-CPS-Association.github.io. The item "maestro2" should be updated with the new version number, releasepage, url and md5sum. The url should point to the Maestro Web API jar.
The documentation is automatically on push by readthedocs.io.
Local build is carried out through the make.bat/Makefile within the docs repository. It requires Sphinx and sphinxcontrib-plantuml