This is an automated email from the ASF dual-hosted git repository.
robertlazarski pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/axis-axis2-java-rampart.git
The following commit(s) were added to refs/heads/master by this push:
new 29a48637 Pin the sample ant builds to a Java 17 release
29a48637 is described below
commit 29a48637306f93ea1474ce4e428ac94ac4a3beb9
Author: Robert Lazarski <[email protected]>
AuthorDate: Wed Sep 2 11:05:45 2026 -1000
Pin the sample ant builds to a Java 17 release
The javac tasks set no release, so sample classes took whatever the build
JDK
emitted and then outlived it in target/: classes left by a JDK 25 build
could
not be loaded by a later JDK 21 run, and all nine policy samples failed on a
class-version error that looked nothing like its cause. Pin all five tasks
to
maven.compiler.release, defaulted to 17 for standalone ant runs.
Co-Authored-By: Claude Opus 5 (1M context) <[email protected]>
---
modules/rampart-samples/policy/build.xml | 12 +++++++++---
modules/rampart-samples/policy/sample-tomcat/build.xml | 10 ++++++++--
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/modules/rampart-samples/policy/build.xml
b/modules/rampart-samples/policy/build.xml
index ff60ff1c..02aa5a47 100644
--- a/modules/rampart-samples/policy/build.xml
+++ b/modules/rampart-samples/policy/build.xml
@@ -37,6 +37,12 @@
<property name="vmargs" value=""/>
+ <!-- Compile for a fixed release rather than whatever JDK runs the build,
+ so the class files load on every JDK the project supports and stale
+ output cannot outlive a JDK change. A value inherited from the Maven
+ build wins over this default. -->
+ <property name="maven.compiler.release" value="17"/>
+
<path id="runtime.classpath">
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
@@ -178,7 +184,7 @@
<mkdir dir="${temp.dir}/META-INF"/>
<!-- Compile service -->
- <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
+ <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}"
release="${maven.compiler.release}">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
@@ -237,7 +243,7 @@
<mkdir dir="${temp.dir}/META-INF"/>
<!-- Compile service -->
- <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}">
+ <javac srcdir="sample@{sample.number}/src" destdir="${temp.dir}"
release="${maven.compiler.release}">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
@@ -298,7 +304,7 @@
<mkdir dir="${temp.client.dir}"/>
<!-- Compile client -->
- <javac srcdir="sample@{sample.number}/src"
destdir="${temp.client.dir}">
+ <javac srcdir="sample@{sample.number}/src"
destdir="${temp.client.dir}" release="${maven.compiler.release}">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
diff --git a/modules/rampart-samples/policy/sample-tomcat/build.xml
b/modules/rampart-samples/policy/sample-tomcat/build.xml
index 88053cea..471af9ed 100644
--- a/modules/rampart-samples/policy/sample-tomcat/build.xml
+++ b/modules/rampart-samples/policy/sample-tomcat/build.xml
@@ -32,6 +32,12 @@
<property name="sample.services.url"
value="https://127.0.0.1:${ssl.port}/axis2/services/ut-over-https"/>
<property environment="env"/>
+
+ <!-- Compile for a fixed release rather than whatever JDK runs the
build,
+ so the class files load on every JDK the project supports and stale
+ output cannot outlive a JDK change. A value inherited from the
Maven
+ build wins over this default. -->
+ <property name="maven.compiler.release" value="17"/>
<target name="check.tomcat" unless="env.CATALINA_HOME">
<echo message="CATALINA_HOME must be set"/>
@@ -79,7 +85,7 @@
<mkdir dir="${service.dir}/META-INF"/>
<!-- Compile service -->
- <javac srcdir="src" destdir="${service.dir}">
+ <javac srcdir="src" destdir="${service.dir}"
release="${maven.compiler.release}">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>
@@ -115,7 +121,7 @@
<copy file="${from.modules}/${rampart.mar}"
tofile="${client.repos.dir}/modules/${rampart.mar}" overwrite="true"/>
<!-- Compile client -->
- <javac srcdir="src" destdir="${temp.client.dir}">
+ <javac srcdir="src" destdir="${temp.client.dir}"
release="${maven.compiler.release}">
<classpath>
<fileset dir="${lib.dir}">
<include name="**/*.jar"/>