[
https://issues.apache.org/jira/browse/GEODE-10528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Jinwoo Hwang reassigned GEODE-10528:
------------------------------------
Assignee: Jinwoo Hwang
> Remediation of Java compiler removal warnings
> ---------------------------------------------
>
> Key: GEODE-10528
> URL: https://issues.apache.org/jira/browse/GEODE-10528
> Project: Geode
> Issue Type: Improvement
> Reporter: Jinwoo Hwang
> Assignee: Jinwoo Hwang
> Priority: Major
> Fix For: 2.1.0
>
>
> h3. Current State
> Following the successful Java 17 migration (GEODE-10465), all deprecation and
> removal warnings have been suppressed to ensure build stability during the
> transition. The current suppression configuration includes:
> *In warnings.gradle:*
> tasks.withType(JavaCompile) \{ options.compilerArgs << '-Xlint:-unchecked' <<
> "-Werror" << '-Xlint:-deprecation' << '-Xlint:-removal' options.deprecation =
> false }
> *In geode-java.gradle:*
> options.compilerArgs.addAll([ '-Xlint:-removal', '-Xlint:-deprecation' ])
> h3. Problem Statement
> The current suppression of all deprecation warnings creates technical debt
> and prevents the codebase from:
> * Leveraging modern Java 17+ APIs and features
> * Identifying potentially broken code due to API removals
> * Maintaining code quality standards
> * Preparing for future Java version upgrades
> h3. Coverage
> This project encourages the use of APIs that remain valid and are {*}not
> deprecated in Java 21{*}.
> h3. Implementation Strategy
> # *Create Feature Branch*
> # {*}Incremental PRs{*}: Submit changes module by module for easier review
> # {*}Parallel Development{*}: Allow normal development to continue while
> cleanup progresses
> # {*}Testing Strategy{*}: Ensure all existing tests pass after each
> modernization change
> # {*}Rollback Plan{*}: Maintain ability to temporarily suppress warnings if
> blocking issues discovered
> h3. Benefits
> * {*}Code Quality{*}: Modern, maintainable codebase using current Java 17
> APIs
> * {*}Future Compatibility{*}: Preparation for Java 18+ upgrades
> * {*}Performance{*}: Potential improvements from modern API usage
> * {*}Security{*}: Updated security APIs and practices
> * {*}Developer Experience{*}: Cleaner build output and better IDE warnings
> h3. Dependencies
> * Requires completion of GEODE-10465 (Java 17 migration)
> * May require coordination with external dependency updates
> * Should align with any planned Gradle or build system upgrades
> h3. Success Metrics
> * Zero suppressed deprecation warnings
> * Build time maintained or improved
> * Test suite execution time maintained or improved
> * No functional regressions in existing features
> * Documentation updated with modern patterns
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)