#11 jdk11 support

This commit is contained in:
Penski, Andreas 2019-03-06 14:26:05 +01:00
parent 248f460500
commit 70149817bf
17 changed files with 391 additions and 149 deletions

446
pom.xml
View file

@ -22,7 +22,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<prerequisites>
<maven>3.0</maven>
<maven>3.3.9</maven>
</prerequisites>
<name>KoSIT XML Prüftool Implementierung</name>
@ -48,8 +48,8 @@
</developers>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<version.jacoco>0.7.9</version.jacoco>
<version.lombok>1.16.16</version.lombok>
<version.jacoco>0.8.3</version.jacoco>
<version.lombok>1.18.6</version.lombok>
<version.saxon-he>9.9.1-1</version.saxon-he>
<version.slf4j>1.7.25</version.slf4j>
<docker.host>localhost</docker.host>
@ -77,6 +77,7 @@
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
<version>1.4</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
@ -90,6 +91,11 @@
<artifactId>commons-lang3</artifactId>
<version>3.5</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-runtime</artifactId>
<version>2.3.2</version>
</dependency>
<dependency>
<groupId>org.assertj</groupId>
<artifactId>assertj-core</artifactId>
@ -102,7 +108,6 @@
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-io</artifactId>
@ -112,7 +117,7 @@
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.3.0</version>
<version>3.2.0</version>
<scope>test</scope>
</dependency>
@ -129,7 +134,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
<version>3.8.0</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
@ -138,57 +143,65 @@
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>2.3.1</version>
<configuration>
<excludes>
<exclude>simplelogger.properties</exclude>
<exclude>de/kosit/validationtool/cmd/**</exclude>
</excludes>
</configuration>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<executions>
<execution>
<id>jdk11+</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>validationtool-${project.version}-standalone</finalName>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>de.kosit.validationtool.cmd.CommandLineApplication</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
<resource>META-INF/TE-050AC.SF</resource>
</transformer>
</transformers>
</configuration>
</execution>
<execution>
<id>jdk8</id>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<finalName>validationtool-${project.version}-java8-standalone</finalName>
<artifactSet>
<excludes>
<exclude>org.glassfish.jaxb:jaxb-runtime</exclude>
<exclude>com.sun.istack:istack-commons-runtime</exclude>
<exclude>com.sun.xml.fastinfoset:FastInfoset</exclude>
<exclude>jakarta.activation:jakarta.activation-api</exclude>
<exclude>jakarta.xml.bind:jakarta.xml.bind-api</exclude>
<exclude>org.jvnet.staxex:stax-ex</exclude>
<exclude>org.glassfish.jaxb:txw2</exclude>
</excludes>
</artifactSet>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>de.kosit.validationtool.cmd.CommandLineApplication</mainClass>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.DontIncludeResourceTransformer">
<!-- Signatur von saxon entfernen - sonst läuft die standalone-anwendung nicht -->
<resource>META-INF/TE-050AC.SF</resource>
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>standalone</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.kosit.validationtool.cmd.CommandLineApplication
</mainClass>
</manifest>
</archive>
<descriptors>
<descriptor>src/main/assembly/assembly-standalone.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>full</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<archive>
<manifest>
<mainClass>
de.kosit.validationtool.cmd.CommandLineApplication
</mainClass>
</manifest>
</archive>
<descriptors>
<descriptor>src/main/assembly/assembly-full.xml</descriptor>
</descriptors>
</configuration>
</execution>
<execution>
<id>standalone_dist</id>
<phase>package</phase>
@ -224,85 +237,6 @@
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.28.0</version>
<configuration>
<dockerHost>tcp://localhost:2375</dockerHost>
<showLogs>true</showLogs>
<startParallel>true</startParallel>
<verbose>false</verbose>
<images>
<image>
<alias>daemon</alias>
<name>daemon</name>
<build>
<dockerFileDir>daemon</dockerFileDir>
<assembly>
<inline>
<files>
<file>
<source>${project.build.directory}/validationtool-${project.version}-standalone.jar</source>
<destName>validationtool-standalone.jar</destName>
</file>
</files>
</inline>
</assembly>
</build>
<run>
<network>
<mode>bridge</mode>
</network>
<ports>
<port>8080:8080</port>
</ports>
<wait>
<time>5000</time>
</wait>
</run>
</image>
</images>
</configuration>
<executions>
<execution>
<id>up</id>
<phase>pre-integration-test</phase>
<goals>
<goal>build</goal>
<goal>start</goal>
</goals>
</execution>
<execution>
<id>post</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
<!-- Failsafe Plugin to run integration tests -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<!--suppress MavenModelInspection -->
<argLine>
-Ddaemon.port=8080
-Ddaemon.host=http://localhost/
</argLine>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!-- Integrate the /src/main/generated folder -->
@ -329,7 +263,7 @@
<plugin>
<groupId>org.jvnet.jaxb2.maven2</groupId>
<artifactId>maven-jaxb2-plugin</artifactId>
<version>0.13.2</version>
<version>0.14.0</version>
<executions>
<execution>
<goals>
@ -420,6 +354,254 @@
</plugins>
</build>
<profiles>
<profile>
<id>java-8</id>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<executions>
<execution>
<id>test-java8</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<!--suppress MavenModelInspection -->
<argLine>
-Ddaemon.port=8081
-Ddaemon.host=http://${docker.host}
</argLine>
<summaryFile>${project.build.directory}/failsafe-reports/failsafe-summary-java8.xml</summaryFile>
</configuration>
</execution>
<execution>
<id>test-java-8-jdk-jaxb</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<!--suppress MavenModelInspection -->
<argLine>
-Ddaemon.port=8082
-Ddaemon.host=http://${docker.host}
</argLine>
<summaryFile>${project.build.directory}/failsafe-reports/failsafe-summary-java8-jdk-jaxb.xml
</summaryFile>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.28.0</version>
<configuration>
<dockerHost>tcp://${docker.host}:2375</dockerHost>
<showLogs>true</showLogs>
<startParallel>true</startParallel>
<verbose>false</verbose>
<containerNamePattern>validator-%n-%t-%i-java8</containerNamePattern>
</configuration>
<executions>
<execution>
<id>up8</id>
<phase>pre-integration-test</phase>
<goals>
<goal>build</goal>
<goal>start</goal>
</goals>
<configuration>
<images>
<image>
<alias>daemon8</alias>
<name>daemon8</name>
<build>
<dockerFileDir>daemon</dockerFileDir>
<dockerFile>Dockerfile-java8</dockerFile>
<assembly>
<inline>
<files>
<file>
<source>
${project.build.directory}/validationtool-${project.version}-standalone.jar
</source>
<destName>validationtool-standalone.jar</destName>
</file>
</files>
</inline>
</assembly>
</build>
<run>
<network>
<mode>bridge</mode>
</network>
<ports>
<port>8081:8080</port>
</ports>
<wait>
<time>5000</time>
</wait>
</run>
</image>
<image>
<alias>daemon8-jdk-jaxb</alias>
<name>daemon8-jdk-jaxb</name>
<build>
<dockerFileDir>daemon</dockerFileDir>
<dockerFile>Dockerfile-java8-jdk-jaxb</dockerFile>
<assembly>
<inline>
<files>
<file>
<source>
${project.build.directory}/validationtool-${project.version}-java8-standalone.jar
</source>
<destName>validationtool-standalone.jar</destName>
</file>
</files>
</inline>
</assembly>
</build>
<run>
<network>
<mode>bridge</mode>
</network>
<ports>
<port>8082:8080</port>
</ports>
<wait>
<time>5000</time>
</wait>
</run>
</image>
</images>
</configuration>
</execution>
<execution>
<id>down8</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>java-11</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>2.22.1</version>
<executions>
<execution>
<id>test-jdk11</id>
<goals>
<goal>integration-test</goal>
<goal>verify</goal>
</goals>
<configuration>
<!--suppress MavenModelInspection -->
<argLine>
-Ddaemon.port=8080
-Ddaemon.host=http://${docker.host}
</argLine>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>0.28.0</version>
<configuration>
<dockerHost>tcp://${docker.host}:2375</dockerHost>
<showLogs>true</showLogs>
<startParallel>true</startParallel>
<verbose>false</verbose>
<containerNamePattern>validator-%n-%t-%i-java8</containerNamePattern>
</configuration>
<executions>
<execution>
<id>up11</id>
<phase>pre-integration-test</phase>
<goals>
<goal>build</goal>
<goal>start</goal>
</goals>
<configuration>
<images>
<image>
<alias>daemon11</alias>
<name>daemon11</name>
<build>
<dockerFileDir>daemon</dockerFileDir>
<assembly>
<inline>
<files>
<file>
<source>
${project.build.directory}/validationtool-${project.version}-standalone.jar
</source>
<destName>validationtool-standalone.jar</destName>
</file>
</files>
</inline>
</assembly>
</build>
<run>
<network>
<mode>bridge</mode>
</network>
<ports>
<port>8080:8080</port>
</ports>
<wait>
<time>5000</time>
</wait>
</run>
</image>
</images>
</configuration>
</execution>
<execution>
<id>down11</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>gitlab</id>
<properties>
<docker.host>host.docker.internal</docker.host>
</properties>
</profile>
</profiles>
<scm>
<connection>https://github.com/itplr-kosit/validationtool.git</connection>
<developerConnection>scm:git:https://github.com/itplr-kosit/validationtool.git</developerConnection>