Skip to content

Commit

Permalink
Create a separate best-practices.yml; Enable virtual threads there only
Browse files Browse the repository at this point in the history
  • Loading branch information
timtebeek committed Nov 26, 2024
1 parent 6bf8502 commit c3a79c9
Show file tree
Hide file tree
Showing 3 changed files with 45 additions and 32 deletions.
45 changes: 45 additions & 0 deletions src/main/resources/META-INF/rewrite/best-practices.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
#
# Copyright 2024 the original author or authors.
# <p>
# 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
# <p>
# https://www.apache.org/licenses/LICENSE-2.0
# <p>
# 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.
#
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot3.SpringBoot3BestPractices
displayName: Spring Boot 3.x best practices
description: Applies best practices to Spring Boot 3 applications.
tags:
- spring
- boot
recipeList:
- org.openrewrite.java.spring.boot2.SpringBoot2BestPractices
- org.openrewrite.java.migrate.UpgradeToJava21 # Allows for virtual threads
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3
- org.openrewrite.java.spring.boot3.EnableVirtualThreads
# Replace literals with constants and simplify MediaType parse calls
- org.openrewrite.java.spring.http.ReplaceStringLiteralsWithHttpHeadersConstants
- org.openrewrite.java.spring.http.ReplaceStringLiteralsWithMediaTypeConstants
- org.openrewrite.java.spring.http.SimplifyMediaTypeParseCalls
- org.openrewrite.java.spring.http.SimplifyWebTestClientCalls
---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot3.EnableVirtualThreads
displayName: Enable Virtual Threads on Java 21
description: Set `spring.threads.virtual.enabled` to `true` in `application.properties` or `application.yml`.
preconditions:
- org.openrewrite.java.search.HasJavaVersion:
version: 21.X
recipeList:
- org.openrewrite.java.spring.AddSpringProperty:
property: spring.threads.virtual.enabled
value: true
14 changes: 0 additions & 14 deletions src/main/resources/META-INF/rewrite/spring-boot-32.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ recipeList:
onlyIfUsing: org.apache.commons.codec..*
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_2
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_2
- org.openrewrite.java.spring.boot3.EnableVirtualThreads
- org.openrewrite.java.spring.framework.UpgradeSpringFramework_6_1
- org.openrewrite.java.spring.cloud2023.UpgradeSpringCloud_2023
- org.openrewrite.java.ChangeType:
Expand All @@ -79,19 +78,6 @@ recipeList:
- org.openrewrite.hibernate.MigrateToHibernate64
- org.openrewrite.java.spring.boot3.RelocateLauncherClasses

---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot3.EnableVirtualThreads
displayName: Enable Virtual Threads on Java 21
description: Set `spring.threads.virtual.enabled` to `true` in `application.properties` or `application.yml`.
preconditions:
- org.openrewrite.java.search.HasJavaVersion:
version: 21.X
recipeList:
- org.openrewrite.java.spring.AddSpringProperty:
property: spring.threads.virtual.enabled
value: true

---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot3.RelocateLauncherClasses
Expand Down
18 changes: 0 additions & 18 deletions src/main/resources/META-INF/rewrite/spring-boot-33.yml
Original file line number Diff line number Diff line change
Expand Up @@ -61,21 +61,3 @@ recipeList:
artifactId: "*"
newVersion: 2.6.x
- org.openrewrite.hibernate.MigrateToHibernate65

---
type: specs.openrewrite.org/v1beta/recipe
name: org.openrewrite.java.spring.boot3.SpringBoot3BestPractices
displayName: Spring Boot 3.x best practices
description: Applies best practices to Spring Boot 3 applications.
tags:
- spring
- boot
recipeList:
- org.openrewrite.java.spring.boot2.SpringBoot2BestPractices
- org.openrewrite.java.migrate.UpgradeToJava21 # Allows for virtual threads
- org.openrewrite.java.spring.boot3.UpgradeSpringBoot_3_3
# Replace literals with constants and simplify MediaType parse calls
- org.openrewrite.java.spring.http.ReplaceStringLiteralsWithHttpHeadersConstants
- org.openrewrite.java.spring.http.ReplaceStringLiteralsWithMediaTypeConstants
- org.openrewrite.java.spring.http.SimplifyMediaTypeParseCalls
- org.openrewrite.java.spring.http.SimplifyWebTestClientCalls

0 comments on commit c3a79c9

Please sign in to comment.