Expand split spring.autoconfigure.exclude entries for Spring Boot 4.0
io.moderne.java.spring.boot4.RelocateAutoConfigurationExcludesArtifactio.moderne.recipe:rewrite-springSpring Boot 4.0 split several auto-configurations across per-technology modules, so that what one class configured in 3.5 is now configured by two or more independently activating classes. An application excluding the old class keeps only part of it disabled after the upgrade. One-to-one relocations need no recipe of their own: ChangeType and ChangePackage already rewrite fully qualified names in application.properties and application.yaml through org.openrewrite.trait.Reference. A Reference renames to a single name, however, so one-to-many splits are out of its reach. This recipe expands them into all of their successors, as derived from the AutoConfiguration.imports files of Spring Boot 3.5 and 4.0. Excluding a class that is not on the classpath is ignored by Spring Boot, so successors that an application does not use are harmless.
Usage
This recipe has no required configuration options. You’ll need the Moderne CLI configured before running the command below.
mod run . --recipe io.moderne.java.spring.boot4.RelocateAutoConfigurationExcludesIf the recipe isn’t available locally, install it with:
mod config recipes jar install io.moderne.recipe:rewrite-spring:RELEASEData tables
Structured output this recipe can produce.
- Source files that had resultsSource files that were modified by the recipe run.
org.openrewrite.table.SourcesFileResults - Source files that had search resultsSearch results that were found during the recipe run.
org.openrewrite.table.SearchResults - Source files that errored on a recipeThe details of all errors produced by a recipe run.
org.openrewrite.table.SourcesFileErrors - Recipe performanceStatistics used in analyzing the performance of recipes.
org.openrewrite.table.RecipeRunStats