META-INF.rewrite.spring-boot-25.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.5 Migration Recipes
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_5
displayName: Upgrade to Spring Boot 2.5
description: 'Upgrade to Spring Boot 2.5 from any prior 2.x version.'
recipeList:
- org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_4
- org.openrewrite.java.spring.data.UpgradeSpringData_2_5
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
groupId: org.springframework.boot
artifactId: "*"
newVersion: 2.5.x
overrideManagedVersion: false
- org.openrewrite.maven.UpgradeParentVersion:
groupId: org.springframework.boot
artifactId: spring-boot-starter-parent
newVersion: 2.5.x
- org.openrewrite.gradle.plugins.UpgradePluginVersion:
pluginIdPattern: org.springframework.boot
newVersion: 2.5.x
- org.openrewrite.gradle.plugins.UpgradePluginVersion:
pluginIdPattern: io.spring.dependency-management
newVersion: 1.0.x
- org.openrewrite.gradle.UpdateGradleWrapper:
version: ^6.8
addIfMissing: false
- org.openrewrite.java.spring.boot2.MigrateDatabaseCredentials
# Spring Boot 2.5 mismanages a pom-only redirect pom of mysql:mysql-connector-java:8.0.33
# From 2.6 onwards the managed dependency is com.mysql:mysql-connector-j:8.0.33
- org.openrewrite.java.dependencies.ChangeDependency:
oldGroupId: mysql
newGroupId: com.mysql
oldArtifactId: mysql-connector-java
newArtifactId: mysql-connector-j
newVersion: 8.0.x
# Use recommended replacements for deprecated APIs
- org.openrewrite.java.spring.boot2.MigrateActuatorMediaTypeToApiVersion
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.autoconfigure.data.jpa.EntityManagerFactoryDependsOnPostProcessor
newFullyQualifiedTypeName: org.springframework.boot.autoconfigure.orm.jpa.EntityManagerFactoryDependsOnPostProcessor
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.autoconfigure.web.ResourceProperties
newFullyQualifiedTypeName: org.springframework.boot.autoconfigure.web.WebProperties$Resources
# Update properties
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_5
# Initialization ordering
- org.openrewrite.java.spring.boot2.DatabaseComponentAndBeanInitializationOrdering
---
########################################################################################################################
# SpringBoot 2.5 Search Recipes
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.search.FindUpgradeRequirementsSpringBoot_2_5
displayName: Find patterns that require updating for Spring Boot 2.5
description: >
Looks for a series of patterns that have not yet had auto-remediation recipes developed for.
tags:
- spring
- boot
recipeList:
- org.openrewrite.java.spring.boot2.search.MessagesInTheDefaultErrorView
- org.openrewrite.java.spring.boot2.search.CustomizingJooqDefaultConfiguration
- org.openrewrite.java.spring.boot2.search.LoggingShutdownHooks
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.search.MessagesInTheDefaultErrorView
displayName: Find projects affected by changes to the default error view message attribute
description: |
As of Spring Boot 2.5 the `message` attribute in the default error view was removed rather than blanked when it is not shown.
`spring-webmvc` or `spring-webflux` projects that parse the error response JSON may need to deal with the missing item
([release notes](https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-2.5-Release-Notes#messages-in-the-default-error-view)).
You can still use the `server.error.include-message` property if you want messages to be included.
tags:
- spring
- boot
recipeList:
- org.openrewrite.maven.search.FindDependency:
groupId: org.springframework
artifactId: spring-webmvc
- org.openrewrite.maven.search.FindDependency:
groupId: org.springframework
artifactId: spring-webflux