Jinwoo Hwang created GEODE-10490:
------------------------------------
Summary: Upgrade Gradle from 7.3.3 to 7.6.6
Key: GEODE-10490
URL: https://issues.apache.org/jira/browse/GEODE-10490
Project: Geode
Issue Type: Improvement
Reporter: Jinwoo Hwang
This task involves upgrading the project's Gradle version from 7.3.3 to 7.6.6
to benefit from performance improvements, bug fixes, and new features. *This
upgrade is part of the Apache Geode 2.0 initiative project.*
h3. Benefits
* {*}Performance improvements{*}: Enhanced build cache performance and faster
configuration time
* {*}Bug fixes{*}: Resolution of known issues present in 7.3.3
* {*}Security updates{*}: Latest security patches and improvements
* {*}Dependency resolution{*}: Improved dependency resolution and conflict
handling
* {*}Toolchain support{*}: Better Java toolchain integration
h3. Scope of Work
# Update Gradle wrapper to version 7.6.6
# Test build compatibility across all modules
# Verify CI/CD pipeline compatibility
# *Migrate deprecated APIs and handle breaking changes (see Migration Tasks
below)*
# Test Docker-based builds ({{{}dunitDockerImage{}}})
# Validate Maven publishing functionality
# Run comprehensive test suite to ensure no regressions
h3. Migration Tasks for Gradle 7.5/7.6 API Changes
* {*}Configuration Cache{*}: Review and fix any configuration cache
incompatibilities
* {*}Task Configuration Avoidance{*}: Update any eager task configuration to
use lazy configuration
* *Deprecated Properties*
* {*}Java Toolchain{*}: Migrate to Java toolchain API if using custom Java
compilation settings
* {*}Publishing Plugin{*}: Update Maven publishing configurations for new
validation rules
* {*}Test Framework{*}: Verify JUnit Platform compatibility with new test
execution engine
* {*}Build Script Classpath{*}: Update any build script dependencies that may
have compatibility issues
* {*}Dependency Resolution{*}: Review any custom dependency resolution
strategies for API changes
* {*}File System Watching{*}: Ensure file watching features work correctly
with build cache enabled
* {*}Custom Tasks{*}: Update any custom Gradle tasks to use new APIs and
avoid deprecated methods
h3. Acceptance Criteria
* Gradle wrapper successfully updated to 7.6.6
* All existing builds pass without errors
* CI/CD pipelines execute successfully
* Docker-based parallel dunit tests continue to work
* Maven artifact publishing functions correctly
* No performance regressions observed
* Configuration cache compatibility verified
* Documentation updated if needed
h3. Risk Assessment
*Low-Medium Risk* - While this is within the same major release, Gradle 7.5/7.6
introduced some breaking changes that require migration work, particularly
around configuration cache and task configuration.
h3. Testing Strategy
* Run full test suite including unit, integration, and distributed tests
* Execute parallel dunit tests in Docker environment
* Validate build caching functionality
* Test configuration cache with {{--configuration-cache}}
* Test on multiple environments (local, CI)
* Verify Maven publishing to both snapshot and release repositories
--
This message was sent by Atlassian Jira
(v8.20.10#820010)