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