This is an automated email from the ASF dual-hosted git repository.

ahuber pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/causeway.git


The following commit(s) were added to refs/heads/main by this push:
     new 6e17d66d32e CAUSEWAY-2445: enables Java 26 build (CI)
6e17d66d32e is described below

commit 6e17d66d32e46bfb754a408924c2108e8676b148
Author: andi-huber <[email protected]>
AuthorDate: Wed Mar 18 07:43:26 2026 +0100

    CAUSEWAY-2445: enables Java 26 build (CI)
---
 bom/pom.xml                                        |  3 ++-
 parent/pom.xml                                     |  2 +-
 .../applib/classrules/ArchitectureJpaRules.java    | 22 +++++++++-------------
 .../applib/domain/DomainArchTests.java             |  2 ++
 .../applib/entity/jpa/JpaEntityArchTests.java      |  2 ++
 5 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/bom/pom.xml b/bom/pom.xml
index bab0e920c39..535e2f1935e 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -62,7 +62,8 @@ identified
 
         <!-- LIBRARY DEPENDENCIES -->
 
-        <archunit.version>1.4.1</archunit.version>
+        <archunit.version>1.4.1</archunit.version> <!-- no java 26 support 
yet, once its there, 
+            remove all related @ArchIgnore annots. from tests -->
         <asciidoctorj.version>3.0.1</asciidoctorj.version>
         <asm.version>9.9.1</asm.version> <!-- keep in sync with
         org.eclipse.persistence:org.eclipse.persistence.asm -->
diff --git a/parent/pom.xml b/parent/pom.xml
index 7de28dba93d..a5f04650f54 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -67,7 +67,7 @@
         
<ethlo-eclipselink-maven-plugin.version>3.0.2</ethlo-eclipselink-maven-plugin.version>
         <maven-release-plugin.version>3.3.1</maven-release-plugin.version>
         <maven-source-plugin.version>3.4.0</maven-source-plugin.version>
-        <maven-surefire-plugin.version>3.5.4</maven-surefire-plugin.version>
+        <maven-surefire-plugin.version>3.5.5</maven-surefire-plugin.version>
         
<maven-surefire-report-plugin.version>3.5.5</maven-surefire-report-plugin.version>
         <!--  for surefire, failsafe and surefire-report  -->
         <maven.plugin.tools.version>3.15.2</maven.plugin.tools.version>
diff --git 
a/testing/archtestsupport/applib/src/main/java/org/apache/causeway/testing/archtestsupport/applib/classrules/ArchitectureJpaRules.java
 
b/testing/archtestsupport/applib/src/main/java/org/apache/causeway/testing/archtestsupport/applib/classrules/ArchitectureJpaRules.java
index eb9eb36595e..20174798b1e 100644
--- 
a/testing/archtestsupport/applib/src/main/java/org/apache/causeway/testing/archtestsupport/applib/classrules/ArchitectureJpaRules.java
+++ 
b/testing/archtestsupport/applib/src/main/java/org/apache/causeway/testing/archtestsupport/applib/classrules/ArchitectureJpaRules.java
@@ -105,11 +105,10 @@ public static ArchRule 
every_jpa_Entity_must_be_annotated_as_an_CausewayEntityLi
     }
 
     static DescribedPredicate<JavaAnnotation<?>> 
EntityListeners_with_CausewayEntityListener() {
-        return new 
DescribedPredicate<JavaAnnotation<?>>("@EntityListener({CausewayEntityListener.class})")
 {
+        return new 
DescribedPredicate<>("@EntityListener({CausewayEntityListener.class})") {
             @Override public boolean test(final JavaAnnotation<?> 
javaAnnotation) {
-                if 
(!javaAnnotation.getRawType().isAssignableTo(EntityListeners.class)) {
+                if 
(!javaAnnotation.getRawType().isAssignableTo(EntityListeners.class))
                     return false;
-                }
                 var properties = javaAnnotation.getProperties();
                 var listeners = properties.get("value");
                 return listeners instanceof JavaClass[] && 
containsCausewayEntityListener((JavaClass[]) listeners);
@@ -258,11 +257,10 @@ static ClassesShouldConjunction 
everyJpa_Entity_must_have_a_field_named_and_anno
     }
 
     static DescribedPredicate<JavaAnnotation<?>> Table_schema() {
-        return new DescribedPredicate<JavaAnnotation<?>>("@Table(schema=...)") 
{
+        return new DescribedPredicate<>("@Table(schema=...)") {
             @Override public boolean test(final JavaAnnotation<?> 
javaAnnotation) {
-                if (!javaAnnotation.getRawType().isAssignableTo(Table.class)) {
+                if (!javaAnnotation.getRawType().isAssignableTo(Table.class))
                     return false;
-                }
                 var properties = javaAnnotation.getProperties();
                 var schema = properties.get("schema");
                 return schema instanceof String &&
@@ -272,7 +270,7 @@ static DescribedPredicate<JavaAnnotation<?>> Table_schema() 
{
     }
 
     static DescribedPredicate<JavaClass> areEntities() {
-        return new DescribedPredicate<JavaClass>("are entities") {
+        return new DescribedPredicate<>("are entities") {
             @Override
             public boolean test(final JavaClass input) {
                 return input.isAnnotatedWith(Entity.class);
@@ -281,11 +279,10 @@ public boolean test(final JavaClass input) {
     }
 
     static DescribedPredicate<JavaAnnotation<?>> Table_uniqueConstraints() {
-        return new 
DescribedPredicate<JavaAnnotation<?>>("@Table(uniqueConstraints=...)") {
+        return new DescribedPredicate<>("@Table(uniqueConstraints=...)") {
             @Override public boolean test(final JavaAnnotation<?> 
javaAnnotation) {
-                if (!javaAnnotation.getRawType().isAssignableTo(Table.class)) {
+                if (!javaAnnotation.getRawType().isAssignableTo(Table.class))
                     return false;
-                }
                 var properties = javaAnnotation.getProperties();
                 var uniqueConstraints = properties.get("uniqueConstraints");
                 return uniqueConstraints instanceof JavaAnnotation[] &&
@@ -310,12 +307,11 @@ public static ArchRule 
every_jpa_Entity_must_have_protected_no_arg_constructor()
     }
 
     static DescribedPredicate<? super JavaClass> areSubtypeEntities() {
-        return new DescribedPredicate<JavaClass>("are subtype entities ") {
+        return new DescribedPredicate<>("are subtype entities ") {
             @Override public boolean test(final JavaClass input) {
                 var superclassIfAny = input.getSuperclass();
-                if(!superclassIfAny.isPresent()) {
+                if(!superclassIfAny.isPresent())
                     return false;
-                }
                 var superType = superclassIfAny.get();
                 var superClass = superType.toErasure();
                 var entityIfAny = superClass
diff --git 
a/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/domain/DomainArchTests.java
 
b/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/domain/DomainArchTests.java
index f0b1d288ca0..7ac9afd6589 100644
--- 
a/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/domain/DomainArchTests.java
+++ 
b/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/domain/DomainArchTests.java
@@ -20,6 +20,7 @@
 
 import com.tngtech.archunit.core.importer.ImportOption;
 import com.tngtech.archunit.junit.AnalyzeClasses;
+import com.tngtech.archunit.junit.ArchIgnore;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.lang.ArchRule;
 
@@ -43,6 +44,7 @@
       DomainDomModule.class
     },
     importOptions = {ImportOption.OnlyIncludeTests.class})
+@ArchIgnore(reason = "no Java 26 support yet")
 public class DomainArchTests {
 
   @ArchTest
diff --git 
a/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/entity/jpa/JpaEntityArchTests.java
 
b/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/entity/jpa/JpaEntityArchTests.java
index 596283a34e6..a740f1fdf97 100644
--- 
a/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/entity/jpa/JpaEntityArchTests.java
+++ 
b/testing/archtestsupport/applib/src/test/java/org/apache/causeway/testing/archtestsupport/applib/entity/jpa/JpaEntityArchTests.java
@@ -20,6 +20,7 @@
 
 import com.tngtech.archunit.core.importer.ImportOption;
 import com.tngtech.archunit.junit.AnalyzeClasses;
+import com.tngtech.archunit.junit.ArchIgnore;
 import com.tngtech.archunit.junit.ArchTest;
 import com.tngtech.archunit.lang.ArchRule;
 
@@ -41,6 +42,7 @@
       JpaDomModule.class
     },
     importOptions = {ImportOption.OnlyIncludeTests.class})
+@ArchIgnore(reason = "no Java 26 support yet")
 public class JpaEntityArchTests {
 
   @ArchTest

Reply via email to