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