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"/>

Reply via email to