[ 
https://issues.apache.org/jira/browse/GEODE-10528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Jinwoo Hwang updated GEODE-10528:
---------------------------------
    Description: 
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

 

  was:
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{*}. 


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