Skip to content

Build ePMC under Mac OS

Andrea Turrini edited this page Apr 22, 2020 · 5 revisions

Supported OS Versions

  • macOS Sierra (10.12)
  • Mac OSX EI Capitan (10.11)

If you have tested this guide under any other versions, please don't hesitate to tell us the results :)

Installing Dependencies

Homebrew

Mac OS users do not have a built-in package manager. But fortunately, we have home-brew, which help us to install the packages and manage the dependencies.

Please follow the instructions at homebrew to install.

Version Control

Currently the project is still stored in a subversion repo. This should be rewrite when it's moved to GitHub or bitbucket.

Java Developers' Kit (13+)

You can download an Oracle JDK from there official website. Note that the version should not be older than 13 as we're using quite a few new language features.

Maven

Maven is a software project management and comprehension tool. It can be downloaded from the maven website (http://maven.apache.org/). This is needed to manage the compilation of the several components of IscasMC.

You can install maven simplly with home brew:

brew install maven

Get the Source Code

Open the terminal app and type

git clone https://github.com/ePMC-team/ePMC <epmc>

In the following part, we'll use to denote the path where you put our source code. Path with whitespaces, e.g. /home/user/local proj/epmc, leads to compile error of C codes (embedded in some plugins). So never put epmc under such paths.

Build the Core

cd <epmc>
mvn package

Build the Plugins

  • Switch to the folder <epmc>/plugins
  • Type ./build.sh and the build process will start. Somehow I found that the build process can be a bit slow, so you may have to wait for a few minutes.

Package an ALL-IN-ONE jar file

Now let's jump to <epmc>/distributions'. There's several pre-defined distribution. In each distribution folder, you'll find a build.sh`, describing which plugins are included in this distribution. A detailed list of distributions can be found here.

Here we just show how to package the most commonly-used one, named standard:

cd standard
./build.sh
java -jar epmc-standard.jar help

Well done! Now you'll find a long list of supported commands and options. You can follow our tutorial to learn how to use this model checker :)