This is an automated email from the ASF dual-hosted git repository.

jinwoo pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/geode.git


The following commit(s) were added to refs/heads/develop by this push:
     new c13cf47ff8 Migration of the build system and scripts from Gradle 6.8.3 
to 7 (#7913)
c13cf47ff8 is described below

commit c13cf47ff8733612228307aa52ca86400981cd76
Author: Jinwoo Hwang <[email protected]>
AuthorDate: Tue Aug 26 21:02:32 2025 -0400

    Migration of the build system and scripts from Gradle 6.8.3 to 7 (#7913)
    
    * Migration of the build system and scripts from Gradle version 6.8.3 to 
version 7, as part of our strategic modernization initiative.
---
 .../process/LauncherProxyWorkerProcessFactory.java    |  2 +-
 build-tools/scripts/build.gradle                      |  2 ++
 build-tools/scripts/src/main/groovy/geode-java.gradle |  6 +++---
 .../src/main/groovy/geode-publish-artifacts.gradle    | 13 +++++++++----
 build.gradle                                          |  7 ++++---
 geode-assembly/build.gradle                           |  6 ++++++
 geode-connectors/build.gradle                         |  6 ++++++
 geode-core/build.gradle                               |  4 ++++
 gradle/wrapper/gradle-wrapper.properties              |  2 +-
 settings.gradle                                       | 19 ++++++++++---------
 10 files changed, 46 insertions(+), 21 deletions(-)

diff --git 
a/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java
 
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java
index fcee360ad1..f1ea9e1791 100644
--- 
a/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java
+++ 
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java
@@ -20,7 +20,7 @@ import java.io.File;
 
 import org.gradle.api.Action;
 import org.gradle.api.internal.ClassPathRegistry;
-import org.gradle.api.internal.file.TemporaryFileProvider;
+import org.gradle.api.internal.file.temp.TemporaryFileProvider;
 import org.gradle.api.logging.LoggingManager;
 import org.gradle.internal.id.IdGenerator;
 import org.gradle.internal.jvm.inspection.JvmVersionDetector;
diff --git a/build-tools/scripts/build.gradle b/build-tools/scripts/build.gradle
index 25b542d1a0..9e7d7c8d9f 100644
--- a/build-tools/scripts/build.gradle
+++ b/build-tools/scripts/build.gradle
@@ -25,6 +25,8 @@ repositories {
 }
 
 dependencies {
+  implementation('org.apache.maven:maven-core:3.8.1')
+  implementation('org.apache.maven:maven-model:3.8.1')
   implementation('org.nosphere.apache:creadur-rat-gradle:0.7.1')
   implementation('com.github.ben-manes:gradle-versions-plugin:0.42.0')
   implementation("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3")
diff --git a/build-tools/scripts/src/main/groovy/geode-java.gradle 
b/build-tools/scripts/src/main/groovy/geode-java.gradle
index 7379995c1d..8f04b1e498 100644
--- a/build-tools/scripts/src/main/groovy/geode-java.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-java.gradle
@@ -157,7 +157,7 @@ gradle.taskGraph.whenReady({ graph ->
 
 configurations {
   testOutput {
-    extendsFrom testCompile
+    extendsFrom testImplementation
     description 'a dependency that exposes test artifacts'
   }
 }
@@ -178,7 +178,7 @@ tasks.register('jarTest', Jar) {
 }
 
 artifacts {
-  testOutput jarTest
+  testOutput (jarTest)
 }
 
 javadoc {
@@ -187,7 +187,7 @@ javadoc {
   options.encoding = 'UTF-8'
   exclude "**/internal/**"
 
-  classpath += configurations.compileOnly
+  classpath += configurations.compileClasspath
 }
 
 
diff --git a/build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle 
b/build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle
index 3a0048d476..ce94ce21da 100644
--- a/build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle
@@ -38,11 +38,16 @@ publishing {
         withXml {
           // This black magic checks to see if a dependency has the flag 
ext.optional=true
           // set on it, and if so marks the dependency as optional in the 
maven pom
-          def depMap = 
project.configurations.compile.dependencies.collectEntries { [it.name, it] }
-          def runtimeDeps = 
project.configurations.runtime.dependencies.collectEntries {
-            [it.name, it]
+           def depMap = [:]
+          ['api','implementation','compileOnly','runtimeOnly'].each { cfgName 
->
+            def cfg = project.configurations.findByName(cfgName)
+            if (cfg) {
+              cfg.dependencies.each { depMap[it.name] = it }
+            }
           }
-          depMap.putAll(runtimeDeps)
+          def runtimeClasspathCfg = 
project.configurations.findByName('runtimeClasspath')
+          runtimeClasspathCfg?.allDependencies?.each { depMap[it.name] = it }
+
           def runtimeOnlyDeps = 
project.configurations.runtimeOnly.dependencies.collectEntries {
             [it.name, it]
           }
diff --git a/build.gradle b/build.gradle
index 41fe9616b9..3f74f7a75f 100755
--- a/build.gradle
+++ b/build.gradle
@@ -206,7 +206,8 @@ if (project.hasProperty('askpass')) {
 }
 
 gradle.taskGraph.whenReady({ graph ->
-  tasks.getByName('combineReports').reportOn rootProject.subprojects.collect {
-    it.tasks.withType(Test)
-  }.flatten()
+  def allTestTasks = rootProject.subprojects.collect { it.tasks.withType(Test) 
}.flatten()
+  def cr = tasks.getByName('combineReports') as TestReport
+  cr.reportOn allTestTasks
+  cr.dependsOn allTestTasks
 })
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index 8e62fabea9..c4f8d7fe6d 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -125,6 +125,12 @@ sourceSets {
 task downloadWebServers(type:Copy) {
   from {configurations.findAll {it.name.startsWith("webServer")}}
   into webServersDir
+  outputs.dir(webServersDir)
+}
+
+// Ensure distributed test resources task runs after downloadWebServers to 
avoid implicit dependency warning
+tasks.matching { it.name == 'processDistributedTestResources' }.configureEach {
+  dependsOn(downloadWebServers)
 }
 
 dependencies {
diff --git a/geode-connectors/build.gradle b/geode-connectors/build.gradle
index b1cb44fa8e..e7d5837589 100644
--- a/geode-connectors/build.gradle
+++ b/geode-connectors/build.gradle
@@ -38,8 +38,14 @@ sourceSets {
   }
 }
 task downloadJdbcJars(type:Copy) {
+  inputs.files(configurations.jdbcTestingJars)
   from {configurations.jdbcTestingJars}
   into jdbcJarsDir
+  outputs.dir(jdbcJarsDir)
+}
+
+tasks.matching { it.name == 'processDistributedTestResources' }.configureEach {
+  dependsOn(downloadJdbcJars)
 }
 
 dependencies {
diff --git a/geode-core/build.gradle b/geode-core/build.gradle
index e15b1eb6bb..b50130303d 100755
--- a/geode-core/build.gradle
+++ b/geode-core/build.gradle
@@ -429,3 +429,7 @@ configure([
 }
 
 rootProject.generate.dependsOn(generateGrammarSource)
+
+tasks.named('processIntegrationTestResources') {
+  duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.EXCLUDE
+}
diff --git a/gradle/wrapper/gradle-wrapper.properties 
b/gradle/wrapper/gradle-wrapper.properties
index 8cf6eb5ad2..3c4101c3ec 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
diff --git a/settings.gradle b/settings.gradle
index ef9ec30601..4ed5720a64 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -19,7 +19,16 @@ import org.gradle.util.GradleVersion
 
 pluginManagement {
   includeBuild('build-tools/geode-dependency-management')
-  includeBuild('build-tools/geode-repeat-test') {
+  includeBuild('build-tools/geode-annotation-processor')
+  includeBuild('build-tools/scripts')
+}
+
+plugins {
+  id 'com.gradle.develocity' version '3.18.2'
+  id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.0.2'
+}
+
+includeBuild('build-tools/geode-repeat-test') {
     dependencySubstitution {
       substitute 
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-repeat-test') 
using project(':')
     }
@@ -33,14 +42,6 @@ pluginManagement {
     dependencySubstitution {
       substitute 
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-testing-isolation')
 using project(':')
     }
-  }
-  includeBuild('build-tools/geode-annotation-processor')
-  includeBuild('build-tools/scripts')
-}
-
-plugins {
-  id 'com.gradle.develocity' version '3.18.2'
-  id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.0.2'
 }
 
 def isGithubActions = System.getenv('GITHUB_ACTIONS') != null

Reply via email to