Skip to content
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

Update CLI to use Highest version possible between 3.5.x -> 3.6.x to support J21+J11 #28744

Closed
7 tasks
Tracked by #27993
spbolton opened this issue Jun 3, 2024 · 2 comments · Fixed by #28974 or #29147
Closed
7 tasks
Tracked by #27993

Comments

@spbolton
Copy link
Contributor

spbolton commented Jun 3, 2024

Task: Upgrade Quarkus Version for Compatibility with Java 21

Objective: Upgrade Quarkus to at least version 3.5, with a target to upgrade to the latest 3.6.x version, ensuring compatibility with Java 21 and maintaining functionality with Java 11 as long as possible.

Background

To support Java 21, Quarkus must be upgraded to at least version 3.5. However, Quarkus 3.7 and higher do not support Java 11. Therefore, the plan is to upgrade to the highest possible Quarkus version compatible with Java 11 before transitioning to Java 21.

Initial tests with Quarkus 3.5 have identified necessary changes, particularly migrating javax imports to jakarta equivalents. Further upgrades to the latest 3.6.x version should be explored, given minimal additional changes are required.

Steps

  1. Merge Changes from Test Branch

  2. Ensure Correct GraalVM Version

    • Verify and update the build to use the appropriate GraalVM version compatible with the targeted Quarkus version.
  3. Upgrade Quarkus to Latest 3.6.x Version

    • Utilize the Quarkus CLI to assist in upgrading the codebase to subsequent Quarkus versions.
    • Address any conflicts arising from global Openrewrite settings that may interfere with the CLI upgrade process.
  4. Update Import References

    • Update all javax imports to their jakarta equivalents as required by the new Quarkus versions.
  5. Testing and Validation

    • Thoroughly test the upgraded application running on both Java 11 and Java 21.
    • Ensure that the application builds and runs correctly with the updated Quarkus version.
    • Validate that all functionalities are intact and no regressions are introduced.

Checklist

  • Merge changes from the test branch for Quarkus 3.5 upgrade.
  • Verify and update the GraalVM version to match the Quarkus version.
  • Utilize Quarkus CLI to upgrade to the latest 3.6.x version.
  • Resolve conflicts with Openrewrite settings during the upgrade process.
  • Update javax imports to jakarta equivalents.
  • Test the application on Java 11 and Java 21.
  • Validate application functionality and ensure no regressions.

Additional Notes

  • Document the changes made during the upgrade process for future reference.
  • Provide clear instructions on how to handle potential conflicts with Openrewrite settings.
@spbolton spbolton changed the title Update CLI to use Highest version possible between 3.5.x -> 3.6.x Update CLI to use Highest version possible between 3.5.x -> 3.6.x to support J21+J11 Jun 3, 2024
@spbolton spbolton moved this from New to Next 1-3 Sprints in dotCMS - Product Planning Jun 7, 2024
@fabrizzio-dotCMS fabrizzio-dotCMS self-assigned this Jun 21, 2024
@fabrizzio-dotCMS fabrizzio-dotCMS moved this from Next 1-3 Sprints to In Progress in dotCMS - Product Planning Jun 21, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jun 21, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jun 22, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jun 24, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jun 24, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jun 25, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jun 26, 2024
@fabrizzio-dotCMS fabrizzio-dotCMS linked a pull request Jun 26, 2024 that will close this issue
@fabrizzio-dotCMS fabrizzio-dotCMS moved this from In Progress to In Review in dotCMS - Product Planning Jun 26, 2024
@github-project-automation github-project-automation bot moved this from In Review to Internal QA in dotCMS - Product Planning Jun 26, 2024
@nollymar nollymar reopened this Jun 27, 2024
@github-project-automation github-project-automation bot moved this from Internal QA to Current Sprint Backlog in dotCMS - Product Planning Jun 27, 2024
@nollymar nollymar moved this from Current Sprint Backlog to Internal QA in dotCMS - Product Planning Jun 27, 2024
@spbolton
Copy link
Contributor Author

spbolton commented Jul 5, 2024

Internal QA
Tested update compile/build with both java 11 and Java 21.
Tested Native build works on my mac m1 with both Java 11 GraalVM and Java 21 GraalVM. Java 21 Graalvm can be used even when the rest of the build is Java 11. (Native build on apple silicon may require an updated parameter depending on the matchine "--native-compiler-options=-Wno-nullability-completeness" this is added in quarkus.native.additional-build-args. and has been added by default in #29111 )

We have only updated to 3.5 here and not 3.6. We do not need to upgrade to 3.6 at this time and can follow up with this. This upgrade should be an easier process without code changes.

@spbolton spbolton moved this from Internal QA to QA - Backlog in dotCMS - Product Planning Jul 5, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jul 5, 2024
fabrizzio-dotCMS added a commit that referenced this issue Jul 5, 2024
github-merge-queue bot pushed a commit that referenced this issue Jul 8, 2024
### Proposed Changes
* Bringing our cli up to Quarkus 3.6
@github-actions github-actions bot mentioned this issue Jul 8, 2024
@nollymar nollymar closed this as completed Jul 8, 2024
@github-project-automation github-project-automation bot moved this from QA - Backlog to Internal QA in dotCMS - Product Planning Jul 8, 2024
@nollymar nollymar moved this from Internal QA to QA - Backlog in dotCMS - Product Planning Jul 8, 2024
spbolton pushed a commit to dotCMS/core-workflow-test that referenced this issue Jul 9, 2024
### Proposed Changes
* Bringing our cli up to Quarkus 3.6
@bryanboza
Copy link
Member

Fixed, this still working in Java 11 without problems, smoke testing with java 21 and so far everything is ok. Full compatibility will be tested later.

@bryanboza bryanboza moved this from QA - Backlog to Done in dotCMS - Product Planning Jul 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

4 participants