From 2ae81ddd3996917d5c5b3b8f9653761ced497098 Mon Sep 17 00:00:00 2001 From: petrsnd Date: Wed, 27 May 2026 22:55:57 -0600 Subject: [PATCH] build: run CI on JDK 11; lock API surface to Java 8; bump to 8.2.2 The spotbugs-maven-plugin 4.9.8.3 enforced by Build-Steps requires JDK 11 to execute, which caused the v8.2.1 release pipeline to fail before publish. Switch the Maven build task to JDK 11 so spotbugs runs, while keeping the emitted bytecode targeted at Java 8 for customer compatibility. - pipeline-templates/build-steps.yml: jdkVersionOption 1.8 -> 1.11 - pom.xml (maven-compiler-plugin): add 8 alongside the existing /1.8 so the compiler also restricts the API surface to the Java 8 stdlib (prevents accidental use of 9+ methods that would NoSuchMethodError at runtime on customer JDK 8). - pom.xml: bump 8.2.1-SNAPSHOT -> 8.2.2-SNAPSHOT - pipeline-templates/global-variables.yml: semanticVersion 8.2.1 -> 8.2.2 Verified locally: 'mvn -DskipTests -Drevision=8.2.2 verify' on JDK 11 produces safeguardjava-8.2.2.jar; javap reports class major version 52 (Java 8). No source changes; v8.2.1 security content ships unchanged. --- pipeline-templates/build-steps.yml | 2 +- pipeline-templates/global-variables.yml | 2 +- pom.xml | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/pipeline-templates/build-steps.yml b/pipeline-templates/build-steps.yml index a25d8bc..f7cd86f 100644 --- a/pipeline-templates/build-steps.yml +++ b/pipeline-templates/build-steps.yml @@ -41,7 +41,7 @@ steps: mavenOptions: '-Xmx3072m' Options: '${{ parameters.mavenOptions }}' javaHomeOption: 'JDKVersion' - jdkVersionOption: '1.8' + jdkVersionOption: '1.11' jdkArchitectureOption: 'x64' publishJUnitResults: true testResultsFiles: '**/surefire-reports/TEST-*.xml' diff --git a/pipeline-templates/global-variables.yml b/pipeline-templates/global-variables.yml index 0fc7836..d5a37bc 100644 --- a/pipeline-templates/global-variables.yml +++ b/pipeline-templates/global-variables.yml @@ -1,6 +1,6 @@ variables: - name: semanticVersion - value: '8.2.1' + value: '8.2.2' - name: isTagBuild value: ${{ startsWith(variables['Build.SourceBranch'], 'refs/tags/') }} - name: isPrerelease diff --git a/pom.xml b/pom.xml index 1662f19..fd62e0c 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,7 @@ UTF-8 - 8.2.1-SNAPSHOT + 8.2.2-SNAPSHOT keyname @@ -89,6 +89,7 @@ 1.8 1.8 + 8