{{ message }}
Foundation: Java 21 baseline + migration status#14
Open
devin-ai-integration[bot] wants to merge 3 commits into
Open
Foundation: Java 21 baseline + migration status#14devin-ai-integration[bot] wants to merge 3 commits into
devin-ai-integration[bot] wants to merge 3 commits into
Conversation
Co-Authored-By: hitomi.sawamura@gmail.com <hitomi.sawamura@gmail.com>
… issues Co-Authored-By: hitomi.sawamura@gmail.com <hitomi.sawamura@gmail.com>
Co-Authored-By: hitomi.sawamura@gmail.com <hitomi.sawamura@gmail.com>
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Description
This PR establishes the Java 21 migration foundation for Apache CloudStack 4.22.0.0. It bumps the compile/target JDK version, updates CI to build with JDK 21, and adds a comprehensive migration status document based on automated codebase analysis of 7,595 Java source files.
Changes:
pom.xml— Bumpcs.jdk.versionfrom11→21(controlsmaven-compiler-pluginsource/target for all modules)build.yml— Update CI JDK from17→21(step name +java-versionparameter). Build command (mvn install -DskipTests) is unchanged.trigger-package-and-publish.yml— Add missing Apache License header (required by RAT check) and fix trailing whitespaceJAVA_21_MIGRATION_STATUS.md— New document: module-by-module file inventory, deprecated API scan across 9 categories (~249 usages found), cglib 3.3.0 blocker analysis, effort estimates, and 6-phase rollout planKey finding:
cglib-nodep 3.3.0is unmaintained and causesUnsupported class file major version 65errors in 64 engine/schema DAO tests. This is why-DskipTestsremains in CI. The fix requires migrating from cglib to ByteBuddy (Phase 3 in the rollout plan).Important for review:
argLineproperty in pom.xml (JVM flags like--add-opens) is not changed in this PR — may need future updates for JDK 21ci.yml,codecov.yml,sonar-check.yml) still reference JDK 17 but are gated bygithub.repository == 'apache/cloudstack'and won't run on this forkTypes of changes
Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale
How Has This Been Tested?
mvn install -DskipTests -Dcheckstyle.skip=true -pl server -am— BUILD SUCCESS across 25 modules in ~49smvn -B -P developer,systemvm -Dsimulator -DskipTests install -T$(nproc)using JDK 21-DskipTests) due to the cglib 3.3.0 blocker documented in the migration statusHow did you try to break this feature and the system with this change?
Link to Devin session: https://app.devin.ai/sessions/016f34bda02e4edc8306e115873b805a
Requested by: @hitomimimi