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 fcee360ad19f..f1ea9e17917c 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 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 25b542d1a011..9e7d7c8d9ff1 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 7379995c1d02..8f04b1e49823 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 3a0048d47699..ce94ce21dae2 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 41fe9616b984..3f74f7a75f38 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 8e62fabea912..c4f8d7fe6d34 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 b1cb44fa8e33..e7d583758957 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 e15b1eb6bbff..b50130303dec 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/geode-server-all/src/integrationTest/resources/dependency_classpath.txt b/geode-server-all/src/integrationTest/resources/dependency_classpath.txt index 4170b247d93d..074b16e6cfa6 100644 --- a/geode-server-all/src/integrationTest/resources/dependency_classpath.txt +++ b/geode-server-all/src/integrationTest/resources/dependency_classpath.txt @@ -8,7 +8,7 @@ commons-validator-1.7.jar spring-jcl-5.3.21.jar commons-codec-1.15.jar classgraph-4.8.147.jar -jackson-databind-2.13.3.jar +jackson-databind-2.17.0.jar commons-logging-1.2.jar geode-management-0.0.0.jar geode-core-0.0.0.jar @@ -44,7 +44,7 @@ rmiio-2.1.2.jar geode-tcp-server-0.0.0.jar log4j-jcl-2.17.2.jar geode-connectors-0.0.0.jar -jackson-core-2.13.3.jar +jackson-core-2.17.0.jar jetty-util-9.4.57.v20241219.jar log4j-slf4j-impl-2.17.2.jar lucene-analyzers-common-6.6.6.jar @@ -71,7 +71,7 @@ jaxb-impl-2.3.2.jar jna-platform-5.11.0.jar log4j-jul-2.17.2.jar HdrHistogram-2.1.12.jar -jackson-annotations-2.13.3.jar +jackson-annotations-2.17.0.jar micrometer-core-1.9.1.jar shiro-config-ogdl-1.12.0.jar geode-log4j-0.0.0.jar @@ -87,6 +87,7 @@ antlr-2.7.7.jar jetty-xml-9.4.57.v20241219.jar geode-rebalancer-0.0.0.jar jetty-server-9.4.57.v20241219.jar -jackson-datatype-jsr310-2.13.3.jar -jackson-datatype-joda-2.13.3.jar -joda-time-2.10.14.jar \ No newline at end of file +jackson-datatype-jsr310-2.17.0.jar +jackson-datatype-joda-2.17.0.jar +joda-time-2.10.14.jar +byte-buddy-1.14.9.jar \ No newline at end of file diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index 8cf6eb5ad222..3c4101c3ec43 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 ef9ec306010a..4ed5720a647b 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