-
Notifications
You must be signed in to change notification settings - Fork 90
Align JakartaEE migrations with EE9 vs EE10 versions #674
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- org.openrewrite.java.dependencies.UpgradeDependencyVersion: | ||
groupId: jakarta.faces | ||
artifactId: jakarta.faces-api | ||
newVersion: 4.0.x |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
needed to add this, previously the EE9 migration included the Faces 4 (part of EE10) update
newVersion: 9.0.0 | ||
newVersion: 9.1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There are no api changes with EE 9.1, just Java11 support
- org.openrewrite.java.ChangePackage: | ||
oldPackageName: javax.annotation | ||
newPackageName: jakarta.annotation | ||
recursive: true | ||
- org.openrewrite.java.ChangePackage: | ||
oldPackageName: jakarta.annotation.processing | ||
newPackageName: javax.annotation.processing | ||
|
||
- org.openrewrite.java.ChangePackage: | ||
oldPackageName: jakarta.annotation.concurrent |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
jakarta.annotation.concurrent
is not part of the EE9 api
cfc9f5d
to
48323eb
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the changes here! Might not feel very exciting in the moment, but as you've found it's good to be deliberate about the versions used such that there's minimal surprises for folks targeting an intermediate version of EE, or see that included in their composites.
I've added one comment on the Jackson migration thread above; other than that I think this looks good already.
48323eb
to
d47ca41
Compare
Thanks! Adding this would be very helpful, I've been bitten by the compatibility issues myself. I took out the Jackson changes, as you noted they are not strictly necessary. Better to keep the scope small. |
# 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`
d47ca41
to
8d15910
Compare
description: Jakarta EE 10 updates some apis compared to Jakarta EE 9. | ||
tags: | ||
- jakarta | ||
# NOTE: The spec versions in this section comes from https://github.com/jakartaee/jakartaee-api/blob/10.0.0/pom.xml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
linking to the BOM where the spec versions are defined
@@ -25,6 +25,7 @@ tags: | |||
- jakarta | |||
# TODO: Update XML references if necessary. | |||
# TODO: Rename bootstrapping files if necessary. | |||
# NOTE: The spec versions in this section comes from https://github.com/jakartaee/jakartaee-api/blob/9.1.0/pom.xml |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
linking to the BOM where the spec versions are defined
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for the quick turnaround here @tobli !
What's changed?
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
forjakarta.xml.ws:jakarta.xml.ws-api:3.0.x
andcom.sun.xml.ws:jaxws-rt:4.x
forjakarta.xml.ws:jakarta.xml.ws-api:4.0.x
What's your motivation?
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 tolatest.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.Checklist