Skip to content

Commit

Permalink
Add jlink integration test (#122)
Browse files Browse the repository at this point in the history
* add jlink integration test

* end file with proper newline

[skip ci]

* cleanup dependency definition

[skip ci]

* debug outputs

* invoker-plugin: install before testing
  • Loading branch information
mtf90 committed Feb 25, 2024
1 parent 0e22986 commit 7a40a75
Show file tree
Hide file tree
Showing 42 changed files with 259 additions and 38 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
mvn -B install -DskipTests
cd $GITHUB_WORKSPACE
- name: Run Maven
run: mvn -B install site -Pintegration-tests,code-analysis,bundles
run: mvn -B install site -Pintegration-tests,code-analysis,bundles,jlink
platform-integration:
name: "Platform Integration (JDK: ${{ matrix.jdk }}, OS: ${{ matrix.os }})"
needs: [ tests-and-analysis ]
Expand Down Expand Up @@ -86,7 +86,7 @@ jobs:
mvn -B install -DskipTests
cd $GITHUB_WORKSPACE
- name: Run Maven
run: mvn -B install
run: mvn -B install -Pjlink
coverage:
name: "Coverage"
needs: [ platform-integration ]
Expand Down
4 changes: 3 additions & 1 deletion algorithms/active/aaar/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.aaar;
exports de.learnlib.algorithm.aaar.abstraction;
Expand Down
3 changes: 2 additions & 1 deletion algorithms/active/adt/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@
requires net.automatalib.common.util;
requires net.automatalib.core;
requires net.automatalib.util;
requires org.checkerframework.checker.qual;
requires org.slf4j;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.adt.ads;
exports de.learnlib.algorithm.adt.adt;
Expand Down
3 changes: 2 additions & 1 deletion algorithms/active/dhc/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.dhc.mealy;
}
Original file line number Diff line number Diff line change
Expand Up @@ -36,10 +36,11 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;
requires org.slf4j;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.kv;
exports de.learnlib.algorithm.kv.dfa;
Expand Down
3 changes: 2 additions & 1 deletion algorithms/active/lstar/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -40,10 +40,11 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;
requires org.slf4j;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.lstar;
exports de.learnlib.algorithm.lstar.ce;
Expand Down
3 changes: 2 additions & 1 deletion algorithms/active/nlstar/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@
requires net.automatalib.api;
requires net.automatalib.core;
requires net.automatalib.util;
requires org.checkerframework.checker.qual;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.nlstar;
}
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,10 @@
requires net.automatalib.common.smartcollection;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.observationpack.vpa;
exports de.learnlib.algorithm.observationpack.vpa.hypothesis;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,10 @@
requires de.learnlib.datastructure.discriminationtree;
requires net.automatalib.api;
requires net.automatalib.common.util;
requires org.checkerframework.checker.qual;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.observationpack;
exports de.learnlib.algorithm.observationpack.dfa;
Expand Down
4 changes: 3 additions & 1 deletion algorithms/active/oml/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,9 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.oml.lstar;
exports de.learnlib.algorithm.oml.ttt;
Expand Down
4 changes: 3 additions & 1 deletion algorithms/active/procedural/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@
requires net.automatalib.common.util;
requires net.automatalib.core;
requires net.automatalib.util;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.procedural;
exports de.learnlib.algorithm.procedural.adapter.dfa;
Expand Down
5 changes: 3 additions & 2 deletions algorithms/active/ttt-vpa/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,10 +35,11 @@
requires de.learnlib.common.counterexample;
requires de.learnlib.datastructure.discriminationtree;
requires net.automatalib.api;
requires org.checkerframework.checker.qual;
requires net.automatalib.common.util;

requires static de.learnlib.tooling.annotation;
requires net.automatalib.common.util;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.ttt.vpa;
}
3 changes: 2 additions & 1 deletion algorithms/active/ttt/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -38,10 +38,11 @@
requires net.automatalib.api;
requires net.automatalib.common.smartcollection;
requires net.automatalib.common.util;
requires org.checkerframework.checker.qual;
requires org.slf4j;

requires static de.learnlib.tooling.annotation;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.ttt.base;
exports de.learnlib.algorithm.ttt.dfa;
Expand Down
4 changes: 3 additions & 1 deletion algorithms/passive/ostia/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@
requires net.automatalib.common.smartcollection;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.ostia;
}
4 changes: 3 additions & 1 deletion algorithms/passive/rpni/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@
requires net.automatalib.api;
requires net.automatalib.common.smartcollection;
requires net.automatalib.common.util;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.algorithm.rpni;
}
4 changes: 3 additions & 1 deletion api/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@

requires net.automatalib.api;
requires net.automatalib.common.util;
requires org.checkerframework.checker.qual;
requires org.slf4j;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib;
exports de.learnlib.algorithm;
exports de.learnlib.exception;
Expand Down
4 changes: 3 additions & 1 deletion commons/counterexamples/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@
requires de.learnlib.api;
requires net.automatalib.api;
requires net.automatalib.common.util;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.acex;
exports de.learnlib.counterexample;
Expand Down
3 changes: 2 additions & 1 deletion commons/settings/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,10 @@
requires de.learnlib.api;
requires net.automatalib.common.util;
requires net.automatalib.api;
requires org.checkerframework.checker.qual;
requires org.slf4j;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;
requires static org.kohsuke.metainf_services;

exports de.learnlib.setting;
Expand Down
4 changes: 3 additions & 1 deletion commons/util/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,11 @@
requires net.automatalib.common.util;
requires net.automatalib.core;
requires net.automatalib.util;
requires org.checkerframework.checker.qual;
requires org.slf4j;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.util;
exports de.learnlib.util.mealy;
exports de.learnlib.util.moore;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.util;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.datastructure.discriminationtree;
exports de.learnlib.datastructure.discriminationtree.iterators;
Expand Down
3 changes: 2 additions & 1 deletion datastructures/list/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@
*/
open module de.learnlib.datastructure.list {

requires org.checkerframework.checker.qual;
// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.datastructure.list;
}
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
requires net.automatalib.api;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.datastructure.observationtable;
exports de.learnlib.datastructure.observationtable.reader;
Expand Down
4 changes: 3 additions & 1 deletion datastructures/pta/src/main/java/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,9 @@
requires net.automatalib.common.smartcollection;
requires net.automatalib.common.util;
requires net.automatalib.core;
requires org.checkerframework.checker.qual;

// make non-static once https://github.com/typetools/checker-framework/issues/4559 is implemented
requires static org.checkerframework.checker.qual;

exports de.learnlib.datastructure.pta;
exports de.learnlib.datastructure.pta.config;
Expand Down
24 changes: 24 additions & 0 deletions distribution/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,30 @@ limitations under the License.
</dependencies>

<profiles>
<profile>
<id>jlink</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-invoker-plugin</artifactId>
<configuration>
<cloneProjectsTo>${project.build.directory}/it</cloneProjectsTo>
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
<settingsFile>${project.basedir}/src/it/settings.xml</settingsFile>
</configuration>
<executions>
<execution>
<goals>
<goal>install</goal>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>code-coverage</id>
<build>
Expand Down
76 changes: 76 additions & 0 deletions distribution/src/it/jlink/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8" ?>
<!--
Copyright (C) 2013-2024 TU Dortmund University
This file is part of LearnLib, http://www.learnlib.de/.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<parent>
<groupId>de.learnlib</groupId>
<artifactId>learnlib-parent</artifactId>
<version>@project.version@</version>
<relativePath>../../../../pom.xml</relativePath>
</parent>

<groupId>de.learnlib.it</groupId>
<artifactId>learnlib-jlink</artifactId>

<dependencies>
<dependency>
<groupId>de.learnlib.distribution</groupId>
<artifactId>learnlib-distribution</artifactId>
<type>pom</type>
<!-- skip non-modular dependencies -->
<exclusions>
<exclusion>
<groupId>net.automatalib</groupId>
<artifactId>automata-brics</artifactId>
</exclusion>
<exclusion>
<groupId>net.automatalib</groupId>
<artifactId>automata-modelchecking-m3c</artifactId>
</exclusion>
<exclusion>
<groupId>net.automatalib</groupId>
<artifactId>automata-jung-visualizer</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jlink-plugin</artifactId>
<version>3.1.0</version>
<configuration>
<classifier>distribution</classifier>
<noHeaderFiles>true</noHeaderFiles>
<noManPages>true</noManPages>
<stripDebug>true</stripDebug>
</configuration>
<executions>
<execution>
<goals>
<goal>jlink</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Loading

0 comments on commit 7a40a75

Please sign in to comment.