Skip to content

Commit d47ca41

Browse files
committed
Align JakartaEE migrations with EE9 vs EE10 versions
# WHY The `org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta` recipe states in the description that it will migrate to the EE9 version. However it updates both api and implementation jars to `latest.release`. As a consequence the EE9 migration will pick a version for EE10 or later. Since later Jakarta EE versions sometime remove or change api, this may lead to compile time or runtime errors. # WHAT This commit updates both the EE9 and the EE10 recipe to pin specification jars to the version corresponding to the umbrella EE version. The versions are aligned with https://github.com/jakartaee/jakartaee-api/blob/9.1.0/pom.xml and https://github.com/jakartaee/jakartaee-api/blob/10.0.0/pom.xml respectively. Where runtime dependencies are added, e.g. `com.sun.xml.ws:jaxws-rt`, the implementation matching the spec version is selected: `com.sun.xml.ws:jaxws-rt:3.x` for `jakarta.xml.ws:jakarta.xml.ws-api:3.0.x` and `com.sun.xml.ws:jaxws-rt:4.x` for `jakarta.xml.ws:jakarta.xml.ws-api:4.0.x`
1 parent b741117 commit d47ca41

File tree

3 files changed

+195
-74
lines changed

3 files changed

+195
-74
lines changed

src/main/resources/META-INF/rewrite/jakarta-ee-10.yml

+102
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ tags:
2323
- jakarta
2424
recipeList:
2525
- org.openrewrite.java.migrate.jakarta.JavaxMigrationToJakarta
26+
- org.openrewrite.java.migrate.jakarta.MigrationToJakarta10Apis
2627
- org.openrewrite.java.migrate.jakarta.Faces2xMigrationToJakarta4x
2728
- org.openrewrite.java.migrate.jakarta.RemovedIsParmetersProvidedMethod
2829
- org.openrewrite.java.migrate.jakarta.RemovedSOAPElementFactory
@@ -37,7 +38,80 @@ recipeList:
3738
- org.openrewrite.java.migrate.jakarta.JavaxBeanValidationXmlToJakartaBeanValidationXml
3839
- org.openrewrite.java.migrate.jakarta.JavaxToJakartaCdiExtensions
3940
- org.openrewrite.java.migrate.jakarta.UpdateJakartaPlatform10
41+
---
42+
type: specs.openrewrite.org/v1beta/recipe
43+
name: org.openrewrite.java.migrate.jakarta.MigrationToJakarta10Apis
44+
displayName: Migrate Jakarta EE 9 api dependencies to Jakarta EE 10 versions
45+
description: Jakarta EE 10 updates some apis compared to Jakarta EE 9.
46+
tags:
47+
- jakarta
48+
recipeList:
4049
- org.openrewrite.java.migrate.jakarta.UpdateJakartaAnnotations2
50+
- org.openrewrite.java.migrate.jakarta.UpdateJakartaXmlWsEE10
51+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
52+
groupId: jakarta.activation
53+
artifactId: jakarta.activation-api
54+
newVersion: 2.1.x
55+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
56+
groupId: jakarta.authentication
57+
artifactId: jakarta.authentication-api
58+
newVersion: 3.0.x
59+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
60+
groupId: jakarta.authorization
61+
artifactId: jakarta.authorization-api
62+
newVersion: 2.1.x
63+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
64+
groupId: jakarta.batch
65+
artifactId: jakarta.batch-api
66+
newVersion: 2.1.x
67+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
68+
groupId: jakarta.validation
69+
artifactId: jakarta.validation-api
70+
newVersion: 3.0.x
71+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
72+
groupId: jakarta.enterprise
73+
artifactId: jakarta.enterprise.cdi-api
74+
newVersion: 4.0.x
75+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
76+
groupId: jakarta.el
77+
artifactId: jakarta.el-api
78+
newVersion: 5.0.x
79+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
80+
groupId: jakarta.interceptor
81+
artifactId: jakarta.interceptor-api
82+
newVersion: 2.1.x
83+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
84+
groupId: jakarta.persistence
85+
artifactId: jakarta.persistence-api
86+
newVersion: 3.1.x
87+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
88+
groupId: jakarta.resource
89+
artifactId: jakarta.resource-api
90+
newVersion: 2.1.x
91+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
92+
groupId: jakarta.security.enterprise
93+
artifactId: jakarta.security.enterprise-api
94+
newVersion: 3.0.x
95+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
96+
groupId: jakarta.servlet
97+
artifactId: jakarta.servlet-api
98+
newVersion: 6.0.x
99+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
100+
groupId: jakarta.websocket
101+
artifactId: jakarta.websocket-api
102+
newVersion: 2.1.x
103+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
104+
groupId: jakarta.jms
105+
artifactId: jakarta.jms-api
106+
newVersion: 3.1.x
107+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
108+
groupId: jakarta.json
109+
artifactId: jakarta.json-api
110+
newVersion: 2.1.x
111+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
112+
groupId: jakarta.ws.rs
113+
artifactId: jakarta.ws.rs-api
114+
newVersion: 3.1.x
41115
---
42116
type: specs.openrewrite.org/v1beta/recipe
43117
name: org.openrewrite.java.migrate.jakarta.ServletCookieBehaviorChangeRFC6265
@@ -301,3 +375,31 @@ recipeList:
301375
groupId: jakarta.annotations
302376
artifactId: jakarta.annotation-api
303377
newVersion: 2.1.x
378+
- org.openrewrite.java.ChangeType:
379+
oldFullyQualifiedTypeName: javax.annotation.Nullable
380+
newFullyQualifiedTypeName: jakarta.annotation.Nullable
381+
- org.openrewrite.java.ChangeType:
382+
oldFullyQualifiedTypeName: javax.annotation.Nonnull
383+
newFullyQualifiedTypeName: jakarta.annotation.Nonnull
384+
---
385+
type: specs.openrewrite.org/v1beta/recipe
386+
name: org.openrewrite.java.migrate.jakarta.UpdateJakartaXmlWsEE10
387+
displayName: Update Jakarta EE XML Web Services Dependencies for EE 10.
388+
description: Update Jakarta EE XML Web Services Dependencies for EE 10.
389+
recipeList:
390+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
391+
groupId: jakarta.xml.bind
392+
artifactId: jakarta.xml.bind-api
393+
newVersion: 4.0.x
394+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
395+
groupId: jakarta.xml.soap
396+
artifactId: jakarta.xml.soap-api
397+
newVersion: 3.0.x
398+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
399+
groupId: jakarta.xml.ws
400+
artifactId: jakarta.xml.ws-api
401+
newVersion: 4.0.x
402+
- org.openrewrite.java.dependencies.UpgradeDependencyVersion:
403+
groupId: com.sun.xml.ws
404+
artifactId: jaxws-rt
405+
newVersion: 4.x

0 commit comments

Comments
 (0)