META-INF.rewrite.spring-boot-20.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.0
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.UpgradeSpringBoot_2_0
displayName: Migrate to Spring Boot 2.0
description: >
Migrate applications to the latest Spring Boot 2.0 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.0.
tags:
- spring
- boot
recipeList:
# Upgrade 2.0.x from 1.x
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
groupId: org.springframework.boot
artifactId: "*"
newVersion: 2.0.x
overrideManagedVersion: false
- org.openrewrite.maven.UpgradeParentVersion:
groupId: org.springframework.boot
artifactId: spring-boot-starter-parent
newVersion: 2.0.x
- org.openrewrite.gradle.plugins.UpgradePluginVersion:
pluginIdPattern: org.springframework.boot
newVersion: 2.0.x
- org.openrewrite.gradle.spring.AddSpringDependencyManagementPlugin
- org.openrewrite.gradle.UpdateGradleWrapper:
version: 4.x
addIfMissing: false
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
groupId: org.mockito
artifactId: "*"
newVersion: 3.x
overrideManagedVersion: false
- org.openrewrite.maven.RemoveProperty:
propertyName: thymeleaf.version
- org.openrewrite.java.dependencies.ChangeDependency:
oldGroupId: org.webjars
oldArtifactId: webjars-locator
newGroupId: org.webjars
newArtifactId: webjars-locator-core
newVersion: ^0.35
- org.openrewrite.java.spring.boot2.MigrateToWebServerFactoryCustomizer
- org.openrewrite.java.spring.framework.UpgradeSpringFramework_5_0
- org.openrewrite.java.spring.boot2.MigrateSpringBootServletInitializerPackageName
- org.openrewrite.java.spring.boot2.MigrateHttpMessageConvertersPackageName
- org.openrewrite.java.spring.boot2.MigrateErrorControllerPackageName
- org.openrewrite.java.spring.boot2.MigrateHibernateConstraintsToJavax
- org.openrewrite.java.spring.boot2.MigrateLocalServerPortAnnotation
# Update properties
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_0
- org.openrewrite.java.spring.boot2.SpringBoot2BestPractices
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateToWebServerFactoryCustomizer
displayName: Use `WebServerFactoryCustomizer`
description: >
Use `WebServerFactoryCustomizer` instead of the deprecated `EmbeddedServletContainerCustomizer` in
Spring Boot 2.0 or higher. This recipe will replace look for any classes that implement `EmbeddedServletContainerCustomizer`
and change the interface to `WebServerFactoryCustomizer`. This recipe also adjusts
the types used in the `customize()` method from `*EmbeddedServletContainerFactory` to their `*ServletWebServerFactory`
counterparts.
recipeList:
- org.openrewrite.java.spring.boot2.ChangeEmbeddedServletContainerCustomizer
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.context.embedded.ConfigurableEmbeddedServletContainer
newFullyQualifiedTypeName: org.springframework.boot.web.servlet.server.ConfigurableServletWebServerFactory
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory
newFullyQualifiedTypeName: org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory
newFullyQualifiedTypeName: org.springframework.boot.web.embedded.jetty.JettyServletWebServerFactory
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.context.embedded.undertow.UnderTowEmbeddedServletContainerFactory
newFullyQualifiedTypeName: org.springframework.boot.web.embedded.undertow.UnderTowServletWebServerFactory
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateSpringBootServletInitializerPackageName
displayName: Use `org.springframework.boot.web.servlet.support.SpringBootServletInitializer`
description: Use `org.springframework.boot.web.servlet.support.SpringBootServletInitializer` instead of the deprecated `org.springframework.boot.web.support.SpringBootServletInitializer` in Spring Boot 1.4 or higher.
recipeList:
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.web.support.SpringBootServletInitializer
newFullyQualifiedTypeName: org.springframework.boot.web.servlet.support.SpringBootServletInitializer
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateHttpMessageConvertersPackageName
displayName: Use `org.springframework.boot.autoconfigure.http.HttpMessageConverters`
description: Use `org.springframework.boot.autoconfigure.http.HttpMessageConverters` instead of the deprecated `org.springframework.boot.autoconfigure.web.HttpMessageConverters` in Spring Boot 2.0 or higher.
recipeList:
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.autoconfigure.web.HttpMessageConverters
newFullyQualifiedTypeName: org.springframework.boot.autoconfigure.http.HttpMessageConverters
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateErrorControllerPackageName
displayName: Use `org.springframework.boot.web.servlet.error.ErrorController`
description: Use `org.springframework.boot.web.servlet.error.ErrorController` instead of the deprecated `org.springframework.boot.autoconfigure.web.ErrorController` in Spring Boot 2.0 or higher.
recipeList:
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.springframework.boot.autoconfigure.web.ErrorController
newFullyQualifiedTypeName: org.springframework.boot.web.servlet.error.ErrorController
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.MigrateHibernateConstraintsToJavax
displayName: Use `javax.validation.constraints`
description: Use `javax.validation.constraints` instead of the deprecated `org.hibernate.validator.constraints` in Spring Boot 2.0 or higher.
recipeList:
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.hibernate.validator.constraints.NotBlank
newFullyQualifiedTypeName: javax.validation.constraints.NotBlank
- org.openrewrite.java.ChangeType:
oldFullyQualifiedTypeName: org.hibernate.validator.constraints.NotEmpty
newFullyQualifiedTypeName: javax.validation.constraints.NotEmpty
- org.openrewrite.java.dependencies.AddDependency:
groupId: javax.validation
artifactId: validation-api
version: 2.x
onlyIfUsing: javax.validation.constraints.*
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
propertyKey: spring.main.banner-mode
oldValue: true
newValue: console
- org.openrewrite.java.spring.ChangeSpringPropertyValue:
propertyKey: spring.main.banner-mode
oldValue: false
newValue: "off"
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot2.SpringBoot2BestPractices
displayName: Spring Boot 2.x best practices
description: Applies best practices to Spring Boot 2 applications.
tags:
- spring
- boot
recipeList:
- org.openrewrite.java.spring.NoRequestMappingAnnotation
- org.openrewrite.java.spring.ImplicitWebAnnotationNames
- org.openrewrite.java.spring.boot2.UnnecessarySpringExtension
- org.openrewrite.java.spring.NoAutowiredOnConstructor
- org.openrewrite.java.spring.boot2.RestTemplateBuilderRequestFactory
- org.openrewrite.java.spring.boot2.ReplaceDeprecatedEnvironmentTestUtils