Jinwoo Hwang created GEODE-10462:
------------------------------------
Summary: Upgrade Gradle to 7.3.3 to Enable Java 17 and Jakarta EE
9 Compatibility
Key: GEODE-10462
URL: https://issues.apache.org/jira/browse/GEODE-10462
Project: Geode
Issue Type: Improvement
Reporter: Jinwoo Hwang
As part of our strategic modernization of the build and runtime environment, we
propose upgrading the Gradle build tool from its current version to {*}Gradle
7.3.3{*}. This upgrade is a foundational step toward enabling support for *Java
17* and {*}Jakarta EE 9{*}, both of which introduce significant language,
performance, and API improvements.
Gradle 7.3.3 offers compatibility with Java 17 and includes enhancements in
dependency resolution, configuration caching, and improved support for JVM
toolchains. These features are critical for ensuring a smooth transition to
newer Java versions and aligning with Jakarta EE 9’s namespace changes
({{{}javax.*{}}} to {{{}jakarta.*{}}}), which require updated tooling and
dependency management.
{*}Motivation{*}:
* {*}Java 17 Preparation{*}: Gradle 7.3.3 is one of the earliest versions that
fully supports Java 17 features, including sealed classes, pattern matching,
and enhanced performance optimizations.
* {*}Jakarta EE 9 Migration{*}: Jakarta EE 9 introduces a major namespace
shift. Gradle 7.3.3 provides better support for managing dependencies and
plugins that are compatible with this change.
* {*}Toolchain Support{*}: Enables use of Gradle’s JVM toolchain feature to
explicitly define Java versions for compilation and testing, reducing
environment inconsistencies.
* {*}Build Performance{*}: Improved configuration caching and dependency
resolution mechanisms help reduce build times and improve developer
productivity.
* {*}Security & Stability{*}: Staying current with build tools helps mitigate
known vulnerabilities and ensures compatibility with modern CI/CD pipelines.
{*}Impact{*}:
* May require updates to existing build scripts and plugins to ensure
compatibility.
* Will unblock future upgrades to Java 17 and Jakarta EE 9.
* Expected to improve build reliability and maintainability.
{*}Acceptance Criteria{*}:
* Gradle upgraded to 7.3.3 across all modules.
* Build scripts validated and updated for compatibility.
* CI pipelines updated and verified.
* Documentation updated to reflect the new Gradle version.
* Successful builds and test runs using Java 17 toolchain.
{*}Additional Notes{*}:
This upgrade is part of a broader initiative to modernize our development
stack. Think of it as replacing the foundation before renovating the house —
necessary, not flashy, but critical for long-term stability and scalability.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)