-
Notifications
You must be signed in to change notification settings - Fork 0
Getting Started
Before we can start, we have to install HermieLab into our local Maven repository so we can use it in our projects.
Step 1: Clone the HermieLab repository
Step 2: Run the mvn clean install
command
From this point on, we can use HermieLab in our projects. Just include the dependencies shown below in your projects, reimport and then you're ready to go!
<!-- For the annotations -->
<dependency>
<groupId>hansvdlaan.hermielab</groupId>
<artifactId>annotations</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
<!-- For the annotation proccessors generating the settings file and
the learning setups -->
<dependency>
<groupId>hansvdlaan.hermielab</groupId>
<artifactId>processor</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
<!-- For the learning setups -->
<dependency>
<groupId>hansvdlaan.hermielab</groupId>
<artifactId>core</artifactId>
<version>0.1-SNAPSHOT</version>
</dependency>
<!-- For the bytecode injections-->
<dependency>
<groupId>org.javassist</groupId>
<artifactId>javassist</artifactId>
<version>3.20.0-GA</version>
</dependency>
<dependencyManagement>
<dependencies>
<!--
Import all dependencies declared by LearnLib. This also
imports all automatalib dependencies in a matching
version.
-->
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-parent</artifactId>
<version>0.12.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Basic LearnLib functionalities -->
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-core</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-counterexamples</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-basic-eqtests</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-simulator</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-drivers-basic</artifactId>
</dependency>
<!-- A cache filter eliminates duplicate queries -->
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-cache</artifactId>
</dependency>
<!-- Dependencies for commonly used learning algorithms -->
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-lstar-generic</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-ttt</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-dhc</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-discrimination-tree</artifactId>
</dependency>
<dependency>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-kearns-vazirani</artifactId>
</dependency>
<!-- Example automata that ship with LearnLib -->
<dependency>
<groupId>de.learnlib.testsupport</groupId>
<artifactId>learnlib-learning-examples</artifactId>
<scope>compile</scope>
</dependency>
<!-- For visualization purposes -->
<dependency>
<groupId>net.automatalib</groupId>
<artifactId>automata-commons-dotutil</artifactId>
</dependency>
</dependencies>
JFLAP relies on jitpack.io instead of maven central to deliver artifacts. Just add the following snippet to your pom.xml file to use the jitpack repository:
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
Finally, include jflap-lib as a dependency:
<dependency>
<groupId>com.github.citiususc</groupId>
<artifactId>jflap-lib</artifactId>
<version>1.3</version>
</dependency>
JFlap has a small assertion bug which is hindering when you want to debug JFLAP. In the resource folder within this project, a fixed version can be found. To use this version instead, just include this as dependency:
<dependency>
<groupId>Jflap</groupId>
<artifactId>Jflap</artifactId>
<version>1.7.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/jflaplib-cli-1.3-bundle.jar</systemPath>
</dependency>