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)

Reply via email to