META-INF.rewrite.spring-boot-24.yml Maven / Gradle / Ivy
Show all versions of rewrite-spring Show documentation
#
# Copyright 2023 the original author or authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
########################################################################################################################
# SpringBoot 2.4
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_4
displayName: Migrate to Spring Boot 2.4
description: >
Migrate applications to the latest Spring Boot 2.4 release. This recipe will modify an
application's build files, make changes to deprecated/preferred APIs, and migrate configuration settings that have
changes between versions. This recipe will also chain additional framework migrations (Spring Framework, Spring Data,
etc) that are required as part of the migration to Spring Boot 2.4.
tags:
- spring
- boot
recipeList:
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_3
- org.openrewrite.java.spring.framework.UpgradeSpringFramework_5_3
- org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
groupId: org.springframework.boot
artifactId: "*"
newVersion: 2.4.x
overrideManagedVersion: false
- org.openrewrite.maven.UpgradeParentVersion:
groupId: org.springframework.boot
artifactId: spring-boot-starter-parent
newVersion: 2.4.x
- org.openrewrite.gradle.plugins.UpgradePluginVersion:
pluginIdPattern: org.springframework.boot
newVersion: 2.4.x
- org.openrewrite.maven.RemoveExclusion:
groupId: org.springframework.boot
artifactId: spring-boot-starter-test
exclusionGroupId: org.junit.vintage
exclusionArtifactId: junit-vintage-engine
- org.openrewrite.maven.RemoveExclusion:
groupId: org.springframework.boot
artifactId: spring-boot-starter-test
exclusionGroupId: junit
exclusionArtifactId: junit
- org.openrewrite.java.dependencies.AddDependency:
groupId: com.google.guava
artifactId: guava
version: "28.2"
versionPattern: -jre
onlyIfUsing: com.google.common.*
# Use recommended replacements for deprecated APIs
- org.openrewrite.java.spring.boot2.MigrateUndertowServletWebServerFactoryIsEagerInitFilters
- org.openrewrite.java.spring.boot2.MigrateUndertowServletWebServerFactorySetEagerInitFilters
- org.openrewrite.java.spring.boot2.MigrateLoggingSystemPropertyConstants
- org.openrewrite.java.spring.boot2.MigrateHsqlEmbeddedDatabaseConnection
# Update properties
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_4
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateUndertowServletWebServerFactoryIsEagerInitFilters
displayName: Use `isEagerFilterInit()`
description: '`org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory#isEagerInitFilters` was deprecated in 2.4 and are removed in 2.6.'
recipeList:
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory isEagerInitFilters()
newMethodName: isEagerFilterInit
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateUndertowServletWebServerFactorySetEagerInitFilters
displayName: Use `setEagerFilterInit(boolean)`
description: '`org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory#setEagerInitFilters` was deprecated in 2.4 and are removed in 2.6.'
recipeList:
- org.openrewrite.java.ChangeMethodName:
methodPattern: org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory setEagerInitFilters(boolean)
newMethodName: setEagerFilterInit
---
########################################################################################################################
# SpringBoot 2.x JUnit 4 to Junit 5 Migration
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.SpringBoot2JUnit4to5Migration
displayName: Migrate Spring Boot 2.x projects to JUnit 5 from JUnit 4.
description: >
This recipe will migrate a Spring Boot application's tests from JUnit 4 to JUnit 5. This spring-specific migration
includes conversion of Spring Test runners to Spring Test extensions and awareness of the composable Spring Test
annotations.
tags:
- test
- junit
- jupiter
- spring
- boot
recipeList:
- org.openrewrite.java.testing.junit5.JUnit4to5Migration
- org.openrewrite.java.spring.boot2.OutputCaptureExtension
- org.openrewrite.java.spring.boot2.UnnecessarySpringRunWith
- org.openrewrite.java.spring.boot2.UnnecessarySpringExtension
- org.openrewrite.java.spring.boot2.ReplaceExtendWithAndContextConfiguration
- org.openrewrite.java.spring.boot2.RemoveObsoleteSpringRunners
- org.openrewrite.java.dependencies.AddDependency:
groupId: org.springframework.boot
artifactId: spring-boot-tools
version: 2.x
onlyIfUsing: org.springframework.boot.testsupport.runner.classpath.ModifiedClassPathExtension
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.UnnecessarySpringRunWith
displayName: Remove unnecessary Spring `@RunWith`
description: Remove `@RunWith` annotations on Spring tests.
recipeList:
- org.openrewrite.java.testing.junit5.RunnerToExtension:
runners:
- org.springframework.test.context.junit4.SpringRunner
- org.springframework.test.context.junit4.SpringJUnit4ClassRunner
extension: org.springframework.test.context.junit.jupiter.SpringExtension
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.RemoveObsoleteSpringRunners
displayName: Remove obsolete Spring JUnit runners
description: Remove obsolete classpath runners.
recipeList:
- org.openrewrite.java.testing.junit5.RemoveObsoleteRunners:
obsoleteRunners:
- org.springframework.boot.junit.runner.classpath.ModifiedClassPathRunner
- org.springframework.boot.testsupport.runner.classpath.ModifiedClassPathRunner
# There is a third variant of this class in spring-cloud-commons and there is not yet a suitable migration
# path. Once one exists, this can likely be added for removal as well.
#- org.springframework.cloud.test.ModifiedClassPathRunner