This is an automated email from the ASF dual-hosted git repository.
gitgabrio pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/incubator-kie-optaplanner.git
The following commit(s) were added to refs/heads/main by this push:
new 131c8695b0 [incubator-kie-issues#2288] - Springboot 4.0.x upgrade
(#3221)
131c8695b0 is described below
commit 131c8695b087adea147ad0dc479e88a7e01e3926
Author: Nithin R Krishnan <[email protected]>
AuthorDate: Mon May 18 14:05:11 2026 +0530
[incubator-kie-issues#2288] - Springboot 4.0.x upgrade (#3221)
* Upgrade Spring Boot to 4.0.5 and Spring Framework to 7.0.6; add
persistence module and update entity scanning imports
* Remove temporary dependency for Spring Boot 4.0 migration validation
* Refine comments for Spring Boot persistence module and commons-logging
dependency management
* chore: retrigger CI
---
build/optaplanner-build-parent/pom.xml | 20 ++++++++++++++++----
.../optaplanner-spring-boot-autoconfigure/pom.xml | 6 ++++++
.../autoconfigure/OptaPlannerAutoConfiguration.java | 6 +++---
.../chained/ChainedSpringTestConfiguration.java | 2 +-
.../gizmo/GizmoSpringTestConfiguration.java | 2 +-
.../MultiModuleSpringTestConfiguration.java | 2 +-
.../normal/NoConstraintsSpringTestConfiguration.java | 2 +-
7 files changed, 29 insertions(+), 11 deletions(-)
diff --git a/build/optaplanner-build-parent/pom.xml
b/build/optaplanner-build-parent/pom.xml
index fb182b1283..5712cfae1b 100644
--- a/build/optaplanner-build-parent/pom.xml
+++ b/build/optaplanner-build-parent/pom.xml
@@ -42,7 +42,7 @@
<version.org.drools>${project.version}</version.org.drools>
<!-- Normal dependency versions -->
- <version.ch.qos.logback>1.5.25</version.ch.qos.logback>
+ <version.ch.qos.logback>1.5.32</version.ch.qos.logback>
<version.org.apache.logging.log4j>2.22.1</version.org.apache.logging.log4j>
<version.com.thoughtworks.xstream>1.4.21</version.com.thoughtworks.xstream>
<version.io.quarkiverse.operatorsdk>6.6.7</version.io.quarkiverse.operatorsdk>
@@ -57,8 +57,8 @@
<version.org.jfree.jfreechart>1.5.4</version.org.jfree.jfreechart>
<version.org.openrewrite.recipe>1.19.3</version.org.openrewrite.recipe>
<version.org.slf4j>2.0.17</version.org.slf4j><!-- TODO keep in sync with
quarkus-bom -->
- <version.org.springframework>6.2.18</version.org.springframework>
- <version.org.springframework.boot>3.5.14</version.org.springframework.boot>
+ <version.org.springframework>7.0.6</version.org.springframework>
+ <version.org.springframework.boot>4.0.5</version.org.springframework.boot>
<!--
************************************************************************ -->
<!-- Plugins -->
@@ -195,6 +195,13 @@
<artifactId>jcl-over-slf4j</artifactId>
<version>${version.org.slf4j}</version>
</dependency>
+ <!-- Spring Boot persistence module: hosts @EntityScan,
EntityScanPackages, EntityScanner -->
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-persistence</artifactId>
+ <version>${version.org.springframework.boot}</version>
+ </dependency>
+
</dependencies>
</dependencyManagement>
@@ -272,7 +279,8 @@
<bannedDependencies>
<excludes combine.children="append">
<!-- Ban forbidden logging deps (we only use SLF4J +
Logback) -->
- <!-- In case of transitive dependency, exclude it and
use 'org.slf4j:jcl-over-slf4j' instead -->
+ <!-- EXCEPTION: Spring Framework depends on
commons-logging directly -->
+ <!-- In case of transitive dependency from non-Spring
sources, exclude it and use 'org.slf4j:jcl-over-slf4j' instead -->
<exclude>commons-logging:commons-log*</exclude>
<!-- In case of transitive dependency, exclude it and
use 'org.apache.logging.log4j:log4j-to-slf4j' instead -->
<exclude>log4j:log4j</exclude>
@@ -281,6 +289,10 @@
<exclude>org.apache.cxf:cxf-bundle-jaxrs</exclude>
<exclude>org.mockito:mockito-all</exclude><!-- Use
mockito-core instead -->
</excludes>
+ <includes>
+ <!-- Allow commons-logging from Spring Framework
(required dependency) -->
+
<include>commons-logging:commons-logging:*:*:compile</include>
+ </includes>
</bannedDependencies>
</rules>
<fail>true</fail>
diff --git
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/pom.xml
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/pom.xml
index 4de1472ae3..1dfbc2d491 100644
---
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/pom.xml
+++
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/pom.xml
@@ -82,6 +82,12 @@
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.springframework.boot</groupId>
+ <artifactId>spring-boot-persistence</artifactId>
+ </dependency>
+
+
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
diff --git
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/main/java/org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.java
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/main/java/org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.java
index cc0942cbb8..8da4d8d420 100644
---
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/main/java/org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.java
+++
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/main/java/org/optaplanner/spring/boot/autoconfigure/OptaPlannerAutoConfiguration.java
@@ -60,10 +60,10 @@ import
org.springframework.boot.autoconfigure.AutoConfigurationPackages;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import
org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
-import org.springframework.boot.autoconfigure.domain.EntityScanPackages;
-import org.springframework.boot.autoconfigure.domain.EntityScanner;
import
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScanPackages;
+import org.springframework.boot.persistence.autoconfigure.EntityScanner;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import
org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider;
diff --git
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/chained/ChainedSpringTestConfiguration.java
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/chained/ChainedSpringTestConfiguration.java
index 9af04ac64f..92c5eb47fd 100644
---
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/chained/ChainedSpringTestConfiguration.java
+++
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/chained/ChainedSpringTestConfiguration.java
@@ -22,7 +22,7 @@ package org.optaplanner.spring.boot.autoconfigure.chained;
import
org.optaplanner.spring.boot.autoconfigure.chained.constraints.TestdataChainedSpringConstraintProvider;
import
org.optaplanner.spring.boot.autoconfigure.chained.domain.TestdataChainedSpringSolution;
import org.springframework.boot.autoconfigure.AutoConfigurationPackage;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
@Configuration
diff --git
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/gizmo/GizmoSpringTestConfiguration.java
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/gizmo/GizmoSpringTestConfiguration.java
index 359d7cbd4b..2dbc5dd2a8 100644
---
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/gizmo/GizmoSpringTestConfiguration.java
+++
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/gizmo/GizmoSpringTestConfiguration.java
@@ -22,7 +22,7 @@ package org.optaplanner.spring.boot.autoconfigure.gizmo;
import
org.optaplanner.spring.boot.autoconfigure.gizmo.constraints.TestdataGizmoConstraintProvider;
import
org.optaplanner.spring.boot.autoconfigure.gizmo.domain.TestdataGizmoSpringEntity;
import
org.optaplanner.spring.boot.autoconfigure.gizmo.domain.TestdataGizmoSpringSolution;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
@Configuration
diff --git
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/multimodule/MultiModuleSpringTestConfiguration.java
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/multimodule/MultiModuleSpringTestConfiguration.java
index 82e2e82bfd..7033e23b2a 100644
---
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/multimodule/MultiModuleSpringTestConfiguration.java
+++
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/multimodule/MultiModuleSpringTestConfiguration.java
@@ -20,7 +20,7 @@
package org.optaplanner.spring.boot.autoconfigure.multimodule;
import org.springframework.boot.autoconfigure.AutoConfigurationPackage;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
@Configuration
diff --git
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/normal/NoConstraintsSpringTestConfiguration.java
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/normal/NoConstraintsSpringTestConfiguration.java
index 4af0da7b86..1acc647d1d 100644
---
a/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/normal/NoConstraintsSpringTestConfiguration.java
+++
b/optaplanner-spring-integration/optaplanner-spring-boot-autoconfigure/src/test/java/org/optaplanner/spring/boot/autoconfigure/normal/NoConstraintsSpringTestConfiguration.java
@@ -21,7 +21,7 @@ package org.optaplanner.spring.boot.autoconfigure.normal;
import
org.optaplanner.spring.boot.autoconfigure.normal.domain.TestdataSpringEntity;
import
org.optaplanner.spring.boot.autoconfigure.normal.domain.TestdataSpringSolution;
-import org.springframework.boot.autoconfigure.domain.EntityScan;
+import org.springframework.boot.persistence.autoconfigure.EntityScan;
import org.springframework.context.annotation.Configuration;
@Configuration
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]