1
0

LOGGING-185: Fix failing tests (#180)

* Fix names of deployed artifacts

We remove the obsolete `finalName` property and fix the Maven Failsafe
executions.

* Fix failing tests

* Reenable integration tests

* Disable SecurityManager tests on Java 21

* Simplify build workflow

* Set `fail-fast` to false

* Fix NPEs caused by `String.trim()`

* Span a different JVM per test case
This commit is contained in:
Piotr P. Karwasz
2023-11-19 01:36:11 +01:00
committed by GitHub
parent 6edbb07301
commit 6ad06e9074
10 changed files with 116 additions and 82 deletions

71
pom.xml
View File

@@ -199,7 +199,7 @@ under the License.
<!-- TODO spotbugs:check -->
<!-- TODO replace clirr:check with japicmp:cmp -->
<!-- The verify goal causes build failures currently, so stop at package for now -->
<defaultGoal>clean package apache-rat:check japicmp:cmp javadoc:javadoc checkstyle:check</defaultGoal>
<defaultGoal>clean verify apache-rat:check japicmp:cmp javadoc:javadoc checkstyle:check</defaultGoal>
<plugins>
<!--
@@ -218,24 +218,20 @@ under the License.
- The custom test framework requires the unit test code to be
- in a jarfile so it can control its place in the classpath.
-->
<id>testjar</id>
<id>create-test-jar</id>
<phase>package</phase>
<goals>
<goal>test-jar</goal>
</goals>
<configuration>
<finalName>commons-logging</finalName>
</configuration>
</execution>
<execution>
<id>apijar</id>
<id>create-api-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-api-${project.version}</finalName>
<classifier>api</classifier>
<includes>
<include>org/apache/commons/logging/*.class</include>
@@ -254,13 +250,12 @@ under the License.
</execution>
<execution>
<id>adaptersjar</id>
<id>create-adapters-jar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-adapters-${project.version}</finalName>
<classifier>adapters</classifier>
<includes>
<include>org/apache/commons/logging/impl/**.class</include>
@@ -273,22 +268,6 @@ under the License.
</excludes>
</configuration>
</execution>
<!--
- Define the full jar last, the deploy/install plugin seems to be broken
- and takes the last definition from here.
-->
<execution>
<id>fulljar</id>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<finalName>${project.artifactId}-${project.version}</finalName>
<classifier>full</classifier>
</configuration>
</execution>
</executions>
<configuration>
<archive combine.children="append">
@@ -322,38 +301,6 @@ under the License.
</executions>
</plugin>
<plugin>
<!--
- Attach the adapters and api jars to the normal artifact. This way
- they will be deployed when the normal artifact is deployed.
-->
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<executions>
<execution>
<id>attach-artifacts</id>
<phase>package</phase>
<goals>
<goal>attach-artifact</goal>
</goals>
<configuration>
<artifacts>
<artifact>
<file>${project.build.directory}/${project.artifactId}-adapters-${project.version}.jar</file>
<type>jar</type>
<classifier>adapters</classifier>
</artifact>
<artifact>
<file>${project.build.directory}/${project.artifactId}-api-${project.version}.jar</file>
<type>jar</type>
<classifier>api</classifier>
</artifact>
</artifacts>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<!--
- Many of JCL's tests use tricky techniques to place the generated
@@ -398,6 +345,10 @@ under the License.
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<!-- Span a different JVM per test -->
<configuration>
<reuseForks>false</reuseForks>
</configuration>
<executions>
<execution>
<id>integration-test</id>
@@ -428,9 +379,9 @@ under the License.
<logkit>${logkit:logkit:jar}</logkit>
<servlet-api>${javax.servlet:servlet-api:jar}</servlet-api>
<commons-logging>target/${project.build.finalName}.jar</commons-logging>
<commons-logging-api>target/${project.artifactId}-api-${project.version}.jar</commons-logging-api>
<commons-logging-adapters>target/${project.artifactId}-adapters-${project.version}.jar</commons-logging-adapters>
<testclasses>target/commons-logging-tests.jar</testclasses>
<commons-logging-api>target/${project.build.finalName}-api.jar</commons-logging-api>
<commons-logging-adapters>target/${project.build.finalName}-adapters.jar</commons-logging-adapters>
<testclasses>target/${project.build.finalName}-tests.jar</testclasses>
</systemPropertyVariables>
</configuration>
</execution>