[ 
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)

Reply via email to