Skip to content

Commit 29f6d68

Browse files
authored
Merge pull request openrewrite#9 from JPMC-EPX/feature/springfox-to-springdoc
rearranging springdoc/openapi recipes. individual springdoc upgrades …
2 parents 062aa3b + 609ca74 commit 29f6d68

File tree

10 files changed

+98
-13
lines changed

10 files changed

+98
-13
lines changed

src/main/resources/META-INF/rewrite/spring-boot-22.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,10 @@ recipeList:
5353
- org.openrewrite.gradle.UpdateGradleWrapper:
5454
version: ^4.10
5555
addIfMissing: false
56+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
57+
groupId: org.springdoc
58+
artifactId: "*"
59+
newVersion: 1.3.x
5660

5761
# Use recommended replacements for deprecated APIs
5862
- org.openrewrite.java.spring.boot2.MigrateApplicationHealthIndicatorToPingHealthIndicator

src/main/resources/META-INF/rewrite/spring-boot-23.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,10 @@ recipeList:
5757
version: 2.3.x
5858
onlyIfUsing: javax.validation.constraints.*
5959
acceptTransitive: true
60+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
61+
groupId: org.springdoc
62+
artifactId: "*"
63+
newVersion: 1.4.x
6064

6165
# Use recommended replacements for deprecated APIs
6266
- org.openrewrite.java.spring.boot2.MigrateRestClientBuilderCustomizerPackageName

src/main/resources/META-INF/rewrite/spring-boot-26.yml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ recipeList:
4646
- org.openrewrite.gradle.plugins.UpgradePluginVersion:
4747
pluginIdPattern: org.springframework.boot
4848
newVersion: 2.6.x
49+
- org.openrewrite.java.springdoc.SpringFoxToSpringDoc
50+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
51+
groupId: org.springdoc
52+
artifactId: "*"
53+
newVersion: 1.5.x
4954

5055
# Update properties
5156
- org.openrewrite.java.spring.boot2.SpringBootProperties_2_6

src/main/resources/META-INF/rewrite/spring-boot-27.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ recipeList:
4545
newVersion: 5.3.x
4646
- org.openrewrite.java.spring.data.UpgradeSpringData_2_7
4747
- org.openrewrite.java.spring.security5.UpgradeSpringSecurity_5_7
48+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
49+
groupId: org.springdoc
50+
artifactId: "*"
51+
newVersion: 1.8.x
4852
# Use recommended replacements for deprecated APIs
4953
- org.openrewrite.java.ChangeType:
5054
oldFullyQualifiedTypeName: org.springframework.boot.web.server.LocalServerPort

src/main/resources/META-INF/rewrite/spring-boot-30.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ recipeList:
7474
- org.openrewrite.java.spring.framework.UpgradeSpringFramework_6_0
7575
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_0
7676
- org.openrewrite.java.spring.cloud2022.UpgradeSpringCloud_2022
77-
- org.openrewrite.java.springdoc.SwaggerToSpringDoc
77+
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2
7878
- org.openrewrite.hibernate.MigrateToHibernate61
7979
---
8080
type: specs.openrewrite.org/v1beta/recipe

src/main/resources/META-INF/rewrite/spring-boot-31.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,5 +46,9 @@ recipeList:
4646
newVersion: 3.1.x
4747
- org.openrewrite.java.spring.security6.UpgradeSpringSecurity_6_1
4848
- org.openrewrite.java.spring.boot3.SpringBootProperties_3_1
49+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
50+
groupId: org.springdoc
51+
artifactId: "*"
52+
newVersion: 2.2.x
4953
- org.openrewrite.hibernate.MigrateToHibernate62
5054
- org.openrewrite.reactive.reactor.UpgradeReactor_3_5

src/main/resources/META-INF/rewrite/spring-boot-32.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,10 @@ recipeList:
6666
- org.openrewrite.java.ChangeType:
6767
oldFullyQualifiedTypeName: org.springframework.boot.autoconfigure.transaction.PlatformTransactionManagerCustomizer
6868
newFullyQualifiedTypeName: org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizer
69+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
70+
groupId: org.springdoc
71+
artifactId: "*"
72+
newVersion: 2.5.x
6973
- org.openrewrite.hibernate.MigrateToHibernate63
7074
- org.openrewrite.java.spring.boot3.RelocateLauncherClasses
7175

src/main/resources/META-INF/rewrite/spring-boot-33.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,17 @@ recipeList:
4949
pluginIdPattern: org.springframework.boot
5050
newVersion: 3.3.x
5151
- org.openrewrite.micrometer.UpgradeMicrometer_1_13
52-
5352
- org.openrewrite.gradle.plugins.UpgradePluginVersion:
5453
pluginIdPattern: org.graalvm.buildtools.native
5554
newVersion: 0.10.x
56-
5755
- org.openrewrite.java.dependencies.ChangeDependency:
5856
oldGroupId: com.datastax.oss
5957
newGroupId: org.apache.cassandra
6058
oldArtifactId: "*"
59+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
60+
groupId: org.springdoc
61+
artifactId: "*"
62+
newVersion: 2.6.x
6163

6264
---
6365
type: specs.openrewrite.org/v1beta/recipe

src/main/resources/META-INF/rewrite/springdoc.yml

Lines changed: 54 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,21 @@
1414
# limitations under the License.
1515
#
1616

17+
---
18+
type: specs.openrewrite.org/v1beta/recipe
19+
name: org.openrewrite.java.springdoc.SpringFoxToSpringDoc
20+
displayName: Migrate from SpringFox Swagger to SpringDoc and OpenAPI
21+
description: Migrate from SpringFox Swagger to SpringDoc and OpenAPI.
22+
tags:
23+
- swagger
24+
- openapi
25+
- springfox
26+
- springdoc
27+
recipeList:
28+
- org.openrewrite.java.springdoc.SwaggerToSpringDoc
29+
- org.openrewrite.java.springdoc.ReplaceSpringFoxDependencies
30+
31+
---
1732
type: specs.openrewrite.org/v1beta/recipe
1833
name: org.openrewrite.java.springdoc.SwaggerToSpringDoc
1934
displayName: Migrate from Swagger to SpringDoc and OpenAPI
@@ -24,17 +39,37 @@ tags:
2439
- openapi
2540
recipeList:
2641
- org.openrewrite.openapi.swagger.SwaggerToOpenAPI
27-
- org.openrewrite.java.springdoc.UpgradeSpringDoc_2
2842
- org.openrewrite.java.spring.DeleteSpringProperty:
2943
propertyKey: swagger.title
3044
- org.openrewrite.java.spring.DeleteSpringProperty:
3145
propertyKey: swagger.description
3246
- org.openrewrite.java.spring.DeleteSpringProperty:
3347
propertyKey: swagger.contact
34-
- org.openrewrite.maven.RemoveDependency:
48+
- org.openrewrite.java.dependencies.RemoveDependency:
3549
groupId: io.swagger.core.v3
3650
artifactId: swagger-annotations
3751

52+
---
53+
type: specs.openrewrite.org/v1beta/recipe
54+
name: org.openrewrite.java.springdoc.ReplaceSpringFoxDependencies
55+
displayName: Replace SpringFox Dependencies
56+
description: Replace SpringFox Dependencies.
57+
tags:
58+
- springfox
59+
- springdoc
60+
preconditions:
61+
- org.openrewrite.java.dependencies.DependencyInsight:
62+
groupIdPattern: io.springfox
63+
artifactIdPattern: "*"
64+
recipeList:
65+
- org.openrewrite.java.dependencies.RemoveDependency:
66+
groupId: io.springfox
67+
artifactId: "*"
68+
- org.openrewrite.java.dependencies.AddDependency:
69+
groupId: org.springdoc
70+
artifactId: springdoc-openapi-starter-webmvc-ui
71+
version: 1.5.x # aligns with spring boot 2.6
72+
3873
---
3974
type: specs.openrewrite.org/v1beta/recipe
4075
name: org.openrewrite.java.springdoc.UpgradeSpringDoc_2
@@ -43,11 +78,8 @@ description: Upgrade to SpringDoc v2.
4378
tags:
4479
- springdoc
4580
recipeList:
81+
- org.openrewrite.openapi.swagger.UseJakartaSwaggerArtifacts
4682
# https://springdoc.org/#migrating-from-springdoc-v1
47-
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
48-
groupId: org.springdoc
49-
artifactId: "*"
50-
newVersion: 2.3.x
5183
# "classes/annotations changes"
5284
- org.openrewrite.java.ChangeType:
5385
oldFullyQualifiedTypeName: org.springdoc.core.SpringDocUtils
@@ -72,43 +104,59 @@ recipeList:
72104
oldGroupId: org.springdoc
73105
oldArtifactId: springdoc-openapi-common
74106
newArtifactId: springdoc-openapi-starter-common
107+
newVersion: 2.1.x
75108
- org.openrewrite.java.dependencies.ChangeDependency:
76109
oldGroupId: org.springdoc
77110
oldArtifactId: springdoc-openapi-data-rest
78111
newArtifactId: springdoc-openapi-starter-common
112+
newVersion: 2.1.x
79113
- org.openrewrite.java.dependencies.ChangeDependency:
80114
oldGroupId: org.springdoc
81115
oldArtifactId: springdoc-openapi-groovy
82116
newArtifactId: springdoc-openapi-starter-common
117+
newVersion: 2.1.x
83118
- org.openrewrite.java.dependencies.ChangeDependency:
84119
oldGroupId: org.springdoc
85120
oldArtifactId: springdoc-openapi-hateoas
86121
newArtifactId: springdoc-openapi-starter-common
122+
newVersion: 2.1.x
87123
- org.openrewrite.java.dependencies.ChangeDependency:
88124
oldGroupId: org.springdoc
89125
oldArtifactId: springdoc-openapi-javadoc
90126
newArtifactId: springdoc-openapi-starter-common
127+
newVersion: 2.1.x
91128
- org.openrewrite.java.dependencies.ChangeDependency:
92129
oldGroupId: org.springdoc
93130
oldArtifactId: springdoc-openapi-kotlin
94131
newArtifactId: springdoc-openapi-starter-common
132+
newVersion: 2.1.x
95133
- org.openrewrite.java.dependencies.ChangeDependency:
96134
oldGroupId: org.springdoc
97135
oldArtifactId: springdoc-openapi-security
98136
newArtifactId: springdoc-openapi-starter-common
137+
newVersion: 2.1.x
99138
- org.openrewrite.java.dependencies.ChangeDependency:
100139
oldGroupId: org.springdoc
101140
oldArtifactId: springdoc-openapi-webmvc-core
102141
newArtifactId: springdoc-openapi-starter-webmvc-api
142+
newVersion: 2.1.x
103143
- org.openrewrite.java.dependencies.ChangeDependency:
104144
oldGroupId: org.springdoc
105145
oldArtifactId: springdoc-openapi-webflux-core
106146
newArtifactId: springdoc-openapi-starter-webflux-api
147+
newVersion: 2.1.x
107148
- org.openrewrite.java.dependencies.ChangeDependency:
108149
oldGroupId: org.springdoc
109150
oldArtifactId: springdoc-openapi-ui
110151
newArtifactId: springdoc-openapi-starter-webmvc-ui
152+
newVersion: 2.1.x
111153
- org.openrewrite.java.dependencies.ChangeDependency:
112154
oldGroupId: org.springdoc
113155
oldArtifactId: springdoc-openapi-webflux-ui
114156
newArtifactId: springdoc-openapi-starter-webflux-ui
157+
newVersion: 2.1.x
158+
# upgrade all remaining non-renamed modules
159+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
160+
groupId: org.springdoc
161+
artifactId: "*"
162+
newVersion: 2.1.x

src/test/java/org/openrewrite/java/springdoc/SwaggerToSpringDocTest.java renamed to src/test/java/org/openrewrite/java/springdoc/UpgradeSpringDoc2Test.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@
2424

2525
import static org.openrewrite.maven.Assertions.pomXml;
2626

27-
class SwaggerToSpringDocTest implements RewriteTest {
27+
class UpgradeSpringDoc2Test implements RewriteTest {
2828
@Override
2929
public void defaults(RecipeSpec spec) {
30-
spec.recipeFromResources("org.openrewrite.java.springdoc.SwaggerToSpringDoc");
30+
spec.recipeFromResources("org.openrewrite.java.springdoc.UpgradeSpringDoc_2");
3131
}
3232

3333
@Test
@@ -48,11 +48,16 @@ void upgradeMaven() {
4848
<artifactId>springdoc-openapi</artifactId>
4949
<version>1.5.13</version>
5050
</dependency>
51+
<dependency>
52+
<groupId>org.springdoc</groupId>
53+
<artifactId>springdoc-openapi-common</artifactId>
54+
<version>1.5.13</version>
55+
</dependency>
5156
</dependencies>
5257
</project>
5358
""",
5459
after -> after.after(actual -> {
55-
String version = Pattern.compile("<version>(2\\.3\\..*)</version>")
60+
String version = Pattern.compile("<version>(2\\.1\\..*)</version>")
5661
.matcher(actual)
5762
.results()
5863
.map(m -> m.group(1))
@@ -68,7 +73,12 @@ void upgradeMaven() {
6873
<dependency>
6974
<groupId>org.springdoc</groupId>
7075
<artifactId>springdoc-openapi</artifactId>
71-
<version>%s</version>
76+
<version>%1$s</version>
77+
</dependency>
78+
<dependency>
79+
<groupId>org.springdoc</groupId>
80+
<artifactId>springdoc-openapi-starter-common</artifactId>
81+
<version>%1$s</version>
7282
</dependency>
7383
</dependencies>
7484
</project>

0 commit comments

Comments
 (0)