Skip to content

Commit c13cf47

Browse files
authored
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.
1 parent e82209b commit c13cf47

File tree

10 files changed

+46
-21
lines changed

10 files changed

+46
-21
lines changed

build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020

2121
import org.gradle.api.Action;
2222
import org.gradle.api.internal.ClassPathRegistry;
23-
import org.gradle.api.internal.file.TemporaryFileProvider;
23+
import org.gradle.api.internal.file.temp.TemporaryFileProvider;
2424
import org.gradle.api.logging.LoggingManager;
2525
import org.gradle.internal.id.IdGenerator;
2626
import org.gradle.internal.jvm.inspection.JvmVersionDetector;

build-tools/scripts/build.gradle

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ repositories {
2525
}
2626

2727
dependencies {
28+
implementation('org.apache.maven:maven-core:3.8.1')
29+
implementation('org.apache.maven:maven-model:3.8.1')
2830
implementation('org.nosphere.apache:creadur-rat-gradle:0.7.1')
2931
implementation('com.github.ben-manes:gradle-versions-plugin:0.42.0')
3032
implementation("org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.3")

build-tools/scripts/src/main/groovy/geode-java.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ gradle.taskGraph.whenReady({ graph ->
157157

158158
configurations {
159159
testOutput {
160-
extendsFrom testCompile
160+
extendsFrom testImplementation
161161
description 'a dependency that exposes test artifacts'
162162
}
163163
}
@@ -178,7 +178,7 @@ tasks.register('jarTest', Jar) {
178178
}
179179

180180
artifacts {
181-
testOutput jarTest
181+
testOutput (jarTest)
182182
}
183183

184184
javadoc {
@@ -187,7 +187,7 @@ javadoc {
187187
options.encoding = 'UTF-8'
188188
exclude "**/internal/**"
189189

190-
classpath += configurations.compileOnly
190+
classpath += configurations.compileClasspath
191191
}
192192

193193

build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,16 @@ publishing {
3838
withXml {
3939
// This black magic checks to see if a dependency has the flag ext.optional=true
4040
// set on it, and if so marks the dependency as optional in the maven pom
41-
def depMap = project.configurations.compile.dependencies.collectEntries { [it.name, it] }
42-
def runtimeDeps = project.configurations.runtime.dependencies.collectEntries {
43-
[it.name, it]
41+
def depMap = [:]
42+
['api','implementation','compileOnly','runtimeOnly'].each { cfgName ->
43+
def cfg = project.configurations.findByName(cfgName)
44+
if (cfg) {
45+
cfg.dependencies.each { depMap[it.name] = it }
46+
}
4447
}
45-
depMap.putAll(runtimeDeps)
48+
def runtimeClasspathCfg = project.configurations.findByName('runtimeClasspath')
49+
runtimeClasspathCfg?.allDependencies?.each { depMap[it.name] = it }
50+
4651
def runtimeOnlyDeps = project.configurations.runtimeOnly.dependencies.collectEntries {
4752
[it.name, it]
4853
}

build.gradle

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,8 @@ if (project.hasProperty('askpass')) {
206206
}
207207

208208
gradle.taskGraph.whenReady({ graph ->
209-
tasks.getByName('combineReports').reportOn rootProject.subprojects.collect {
210-
it.tasks.withType(Test)
211-
}.flatten()
209+
def allTestTasks = rootProject.subprojects.collect { it.tasks.withType(Test) }.flatten()
210+
def cr = tasks.getByName('combineReports') as TestReport
211+
cr.reportOn allTestTasks
212+
cr.dependsOn allTestTasks
212213
})

geode-assembly/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -125,6 +125,12 @@ sourceSets {
125125
task downloadWebServers(type:Copy) {
126126
from {configurations.findAll {it.name.startsWith("webServer")}}
127127
into webServersDir
128+
outputs.dir(webServersDir)
129+
}
130+
131+
// Ensure distributed test resources task runs after downloadWebServers to avoid implicit dependency warning
132+
tasks.matching { it.name == 'processDistributedTestResources' }.configureEach {
133+
dependsOn(downloadWebServers)
128134
}
129135

130136
dependencies {

geode-connectors/build.gradle

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,14 @@ sourceSets {
3838
}
3939
}
4040
task downloadJdbcJars(type:Copy) {
41+
inputs.files(configurations.jdbcTestingJars)
4142
from {configurations.jdbcTestingJars}
4243
into jdbcJarsDir
44+
outputs.dir(jdbcJarsDir)
45+
}
46+
47+
tasks.matching { it.name == 'processDistributedTestResources' }.configureEach {
48+
dependsOn(downloadJdbcJars)
4349
}
4450

4551
dependencies {

geode-core/build.gradle

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -429,3 +429,7 @@ configure([
429429
}
430430

431431
rootProject.generate.dependsOn(generateGrammarSource)
432+
433+
tasks.named('processIntegrationTestResources') {
434+
duplicatesStrategy = org.gradle.api.file.DuplicatesStrategy.EXCLUDE
435+
}
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-all.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-7.0-all.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

settings.gradle

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,16 @@ import org.gradle.util.GradleVersion
1919

2020
pluginManagement {
2121
includeBuild('build-tools/geode-dependency-management')
22-
includeBuild('build-tools/geode-repeat-test') {
22+
includeBuild('build-tools/geode-annotation-processor')
23+
includeBuild('build-tools/scripts')
24+
}
25+
26+
plugins {
27+
id 'com.gradle.develocity' version '3.18.2'
28+
id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.0.2'
29+
}
30+
31+
includeBuild('build-tools/geode-repeat-test') {
2332
dependencySubstitution {
2433
substitute module('org.apache.geode.gradle:org.apache.geode.gradle.geode-repeat-test') using project(':')
2534
}
@@ -33,14 +42,6 @@ pluginManagement {
3342
dependencySubstitution {
3443
substitute module('org.apache.geode.gradle:org.apache.geode.gradle.geode-testing-isolation') using project(':')
3544
}
36-
}
37-
includeBuild('build-tools/geode-annotation-processor')
38-
includeBuild('build-tools/scripts')
39-
}
40-
41-
plugins {
42-
id 'com.gradle.develocity' version '3.18.2'
43-
id 'com.gradle.common-custom-user-data-gradle-plugin' version '2.0.2'
4445
}
4546

4647
def isGithubActions = System.getenv('GITHUB_ACTIONS') != null

0 commit comments

Comments
 (0)