This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/v4 by this push:
new a62f0864195 CAUSEWAY-3892: upgraded from Spring Boot 3.x to 4.x
(SNAPSHOT)
a62f0864195 is described below
commit a62f0864195bf2d368e388ff0e65134a33aa9ca2
Author: Andi Huber <[email protected]>
AuthorDate: Wed May 28 07:10:44 2025 +0200
CAUSEWAY-3892: upgraded from Spring Boot 3.x to 4.x (SNAPSHOT)
- disabling GraphQL, as it is currently broken upstream
---
bom/pom.xml | 32 ++++++++++++++++++----
core/config/pom.xml | 16 +----------
.../PatternOptionalStringConstraintValidator.java | 17 +++++++++---
core/pom.xml | 2 +-
mavendeps/webapp/pom.xml | 9 +++---
5 files changed, 46 insertions(+), 30 deletions(-)
diff --git a/bom/pom.xml b/bom/pom.xml
index 8738ce286b1..d69dbcd0af5 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -39,7 +39,7 @@ identified
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
- <version>3.5.0</version>
+ <version>4.0.0-SNAPSHOT</version>
<relativePath />
</parent>
<groupId>org.apache.causeway</groupId>
@@ -55,7 +55,8 @@ identified
</description>
<properties>
- <revision>4.0.0-SNAPSHOT</revision> <!-- can be overidden like mvn
-Drevision=2.7.8 -->
+ <revision>4.0.0-SNAPSHOT</revision> <!-- can be overidden like mvn
+ -Drevision=2.7.8 -->
<!-- BUILD SPECIFICA -->
@@ -119,6 +120,7 @@ identified
<graphql-java-extended-scalars.version>22.0</graphql-java-extended-scalars.version>
<guava.version>33.4.8-jre</guava.version>
+ <hibernate-validator.version>9.0.0.Final</hibernate-validator.version>
<!-- Spring Boot 4 preview, remove later -->
<htmlparser.version>2.1</htmlparser.version>
<javafaker.version>1.0.2</javafaker.version>
@@ -176,7 +178,7 @@ identified
<sql-formatter.version>2.0.5</sql-formatter.version>
<snakeyaml.version>2.0</snakeyaml.version>
- <spring-boot.version>3.5.0</spring-boot.version>
+ <spring-boot.version>4.0.0-SNAPSHOT</spring-boot.version>
<surefire-plugin.argLine>
-Xmx384m
@@ -214,7 +216,8 @@ identified
[1] https://github.com/twbs/bootstrap/blob/master/LICENSE
[2]
https://github.com/mouse0270/bootstrap-growl/blob/master/LICENSE
[3] https://github.com/l0rdn1kk0n/wicket-bootstrap
- [4]
https://github.com/Eonasdan/bootstrap-datetimepicker/blob/master/LICENSE
+ [4]
+
https://github.com/Eonasdan/bootstrap-datetimepicker/blob/master/LICENSE
[5]
https://github.com/moment/moment/blob/develop/LICENSE</license.additional-notes>
</properties>
<dependencyManagement>
@@ -1507,7 +1510,7 @@ identified
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
+ <groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${hibernate-validator.version}</version>
<exclusions>
@@ -2037,7 +2040,24 @@ identified
<enabled>false</enabled>
</snapshots>
</repository>
+ <repository>
+ <id>spring-milestones</id>
+ <name>Spring Milestones</name>
+ <url>https://repo.spring.io/milestone</url>
+ <snapshots>
+ <enabled>false</enabled>
+ </snapshots>
+ </repository>
+ <repository>
+ <id>spring-snapshots</id>
+ <name>Spring Snapshots</name>
+ <url>https://repo.spring.io/snapshot</url>
+ <releases>
+ <enabled>false</enabled>
+ </releases>
+ </repository>
</repositories>
+
<distributionManagement>
<repository>
<id>apache.releases.https</id>
@@ -2912,7 +2932,7 @@ identified
</modules>
</profile>
<!-- END SNIPPET: release-profile -->
-
+
<profile>
<id>causeway-lombok-workaround</id>
<activation>
diff --git a/core/config/pom.xml b/core/config/pom.xml
index 8cf663d8f57..05396f14c5b 100644
--- a/core/config/pom.xml
+++ b/core/config/pom.xml
@@ -94,22 +94,8 @@
</dependency>
<dependency>
- <groupId>org.hibernate</groupId>
+ <groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
- <exclusions>
- <exclusion>
- <groupId>org.jboss.logging</groupId>
-
<artifactId>jboss-logging-processor</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.jboss.logging</groupId>
-
<artifactId>jboss-logging-annotations</artifactId>
- </exclusion>
- <exclusion>
- <groupId>org.osgi</groupId>
- <artifactId>org.osgi.core</artifactId>
- </exclusion>
- </exclusions>
</dependency>
<!--
diff --git
a/core/config/src/main/java/org/apache/causeway/core/config/validators/PatternOptionalStringConstraintValidator.java
b/core/config/src/main/java/org/apache/causeway/core/config/validators/PatternOptionalStringConstraintValidator.java
index 27f1ecb521b..dd1415053eb 100644
---
a/core/config/src/main/java/org/apache/causeway/core/config/validators/PatternOptionalStringConstraintValidator.java
+++
b/core/config/src/main/java/org/apache/causeway/core/config/validators/PatternOptionalStringConstraintValidator.java
@@ -22,18 +22,27 @@
import jakarta.validation.ConstraintValidator;
import jakarta.validation.ConstraintValidatorContext;
-
-import
org.hibernate.validator.internal.constraintvalidators.bv.PatternValidator;
+import jakarta.validation.constraints.Pattern;
import org.springframework.stereotype.Component;
+import org.apache.causeway.commons.internal.context._Context;
+
+import lombok.SneakyThrows;
+
@Component
public class PatternOptionalStringConstraintValidator
implements ConstraintValidator<jakarta.validation.constraints.Pattern,
Optional<String>> {
- private final PatternValidator patternValidator = new PatternValidator();
+ private final ConstraintValidator<Pattern, CharSequence> patternValidator;
+ @SneakyThrows
public PatternOptionalStringConstraintValidator(){
+ var patternValidatorClass =
_Context.loadClass("org.hibernate.validator.internal.constraintvalidators.bv.PatternValidator");
+ this.patternValidator = (ConstraintValidator<Pattern, CharSequence>)
+ patternValidatorClass
+ .getConstructor()
+ .newInstance();
}
@Override
@@ -46,7 +55,7 @@ public boolean isValid(
final Optional<String> value,
final ConstraintValidatorContext context) {
if(!value.isPresent()) return true;
-
+
return patternValidator.isValid(value.get(), context);
}
}
diff --git a/core/pom.xml b/core/pom.xml
index 6a1031e0095..54c20df152a 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -287,7 +287,7 @@
<module>../viewers/commons</module>
<module>../viewers/restfulobjects</module>
<module>../viewers/wicket</module>
- <module>../viewers/graphql</module>
+<!-- <module>../viewers/graphql</module> broken on current Spring Boot 4
Snapshot -->
<module>../persistence/commons</module>
<module>../persistence/jdbc</module>
diff --git a/mavendeps/webapp/pom.xml b/mavendeps/webapp/pom.xml
index 06e83d8f5df..033fd908173 100644
--- a/mavendeps/webapp/pom.xml
+++ b/mavendeps/webapp/pom.xml
@@ -90,10 +90,11 @@
<artifactId>causeway-core-runtimeservices</artifactId>
</dependency>
- <dependency>
- <groupId>org.apache.causeway.viewer</groupId>
- <artifactId>causeway-viewer-graphql-viewer</artifactId>
- </dependency>
+<!-- broken on current Spring Boot 4 Snapshot-->
+<!-- <dependency>-->
+<!-- <groupId>org.apache.causeway.viewer</groupId>-->
+<!--
<artifactId>causeway-viewer-graphql-viewer</artifactId>-->
+<!-- </dependency>-->
<dependency>
<groupId>org.apache.causeway.viewer</groupId>