This is an automated email from the ASF dual-hosted git repository.
rhoughton pushed a commit to branch support/1.15
in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/support/1.15 by this push:
new 3cf68a1298 GEODE-10283: Remove problematic buildSrc project, replacing
with includeBuild projects (#7600)
3cf68a1298 is described below
commit 3cf68a12981640b75b9cc3f5515121315eae27e1
Author: Robert Houghton <[email protected]>
AuthorDate: Wed May 11 10:30:48 2022 -0700
GEODE-10283: Remove problematic buildSrc project, replacing with
includeBuild projects (#7600)
* Extract DependencyConstraints plugin from buildSrc
* Extract japicmp plugin customization from buildSrc
* Test isolation from buildSrc
* Disable jacoco on all test facets by default
(cherry picked from commit 509c0c6c916a047a8440475fd65b706ce41e2f2b)
---
boms/geode-all-bom/build.gradle | 5 +-
boms/geode-client-bom/build.gradle | 8 ++-
.../geode-annotation-processor}/build.gradle | 21 ++++---
.../geode-annotation-processor/settings.gradle | 5 +-
.../javac/EnsureCorrectRunsWithProcessor.java | 0
.../services/javax.annotation.processing.Processor | 0
.../org/apache/geode/javac/CompilerException.java | 0
.../org/apache/geode/javac/SimpleClassFile.java | 0
.../org/apache/geode/javac/SimpleFileManager.java | 0
.../org/apache/geode/javac/SimpleSourceFile.java | 0
.../geode/javac/TestAnnotationProcessor.java | 0
.../java/org/apache/geode/javac/TestCompiler.java | 0
.../geode-build-tools}/build.gradle | 40 ++++++------
.../geode-build-tools/settings.gradle | 5 +-
.../geode/gradle/plugins/BuildToolsPlugin.groovy | 10 +--
.../geode/gradle/plugins}/PasswordDialog.groovy | 4 ++
.../gradle/plugins/TestPropertiesWriter.groovy | 33 +++++-----
.../geode-dependency-management}/build.gradle | 24 +++----
.../geode-dependency-management/settings.gradle | 5 +-
.../gradle/plugins/DependencyConstraints.groovy | 8 +--
.../plugins/DependencyConstraintsPlugin.groovy | 13 ++--
.../gradle/plugins/DependencySetHandler.groovy | 0
.../geode-japicmp}/build.gradle | 26 ++++----
.../geode-japicmp/settings.gradle | 5 +-
.../japicmp/AllowMajorBreakingChanges.groovy | 0
.../gradle/japicmp/GeodeApiRegressionRule.groovy | 0
.../gradle/japicmp/GeodeSpiRegressionRule.groovy | 0
.../geode/gradle/japicmp/JapicmpPlugin.groovy | 15 +++--
.../gradle/japicmp/ParentIsExperimental.groovy | 0
.../src/main/resources/japicmp_exceptions.json | 0
.../geode-repeat-test}/build.gradle | 39 ++++++------
.../geode-repeat-test/settings.gradle | 5 +-
.../geode/gradle/testing/repeat/RepeatTest.groovy | 73 +++++++++++++---------
.../gradle/testing/repeat/RepeatTestPlugin.groovy | 13 ++--
.../ExecutionTrackingTestClassProcessor.java | 0
.../ExecutionTrackingTestResultProcessor.java | 0
.../gradle/testing/repeat/RepeatTestExecuter.java | 0
.../gradle/testing/repeat/RepeatTestTest.groovy | 31 ++++-----
.../geode-testing-isolation}/build.gradle | 34 +++++++---
.../geode-testing-isolation/settings.gradle | 5 +-
.../apache/geode/gradle/testing/Executers.groovy | 0
.../org/apache/geode/gradle/testing/Workers.groovy | 1 +
.../testing/isolation/IsolatedTestPlugin.groovy | 9 ++-
.../testing/isolation/CompletableProcess.java | 0
.../geode/gradle/testing/isolation/PortRange.java | 0
.../gradle/testing/isolation/PortRangeContext.java | 0
.../isolation/PortRangeProcessLauncher.java | 0
.../isolation/WorkingDirectoryIsolator.java | 0
.../testing/process/AdjustableProcessLauncher.java | 0
.../process/LauncherProxyWorkerProcessBuilder.java | 0
.../process/LauncherProxyWorkerProcessFactory.java | 0
.../gradle/testing/process/ProcessLauncher.java | 0
.../geode/gradle/testing/process/Reflection.java | 0
.../geode/gradle/test/isolation/PortRangeTest.java | 17 +++--
.../isolation/WorkingDirectoryIsolatorTest.java | 9 ++-
{buildSrc => build-tools/scripts}/build.gradle | 36 +++--------
.../scripts/settings.gradle | 30 +++++----
.../scripts/src/main/groovy}/check-pom.gradle | 15 ++---
.../scripts/src/main/groovy}/code-analysis.gradle | 71 ++++++++++-----------
.../src/main/groovy}/dependency-resolution.gradle | 0
.../src/main/groovy/geode-japicmp-task.gradle | 7 +--
.../scripts/src/main/groovy/geode-java.gradle | 13 ++--
.../scripts/src/main/groovy/geode-pmd.gradle | 6 +-
.../src/main/groovy/geode-publish-artifacts.gradle | 0
.../src/main/groovy/geode-publish-common.gradle | 11 ++--
.../src/main/groovy/geode-publish-java.gradle | 7 ++-
.../src/main/groovy/geode-publish-war.gradle | 6 +-
.../scripts/src/main/groovy/geode-rat.gradle | 5 +-
.../scripts/src/main/groovy/geode-sonar.gradle | 4 +-
.../scripts/src/main/groovy/geode-test.gradle | 27 ++++----
.../scripts/src/main/groovy}/ide.gradle | 6 +-
.../scripts/src/main/groovy}/javaVersions.gradle | 6 +-
.../scripts/src/main/groovy}/jmh.gradle | 6 +-
.../scripts/src/main/groovy}/lint.gradle | 4 +-
.../src/main/groovy}/multi-process-test.gradle | 4 +-
.../platform-subproject-configuration.gradle | 6 +-
.../src/main/groovy}/resolve-dependencies.gradle | 0
.../scripts/src/main/groovy}/spotless.gradle | 6 +-
.../standard-subproject-configuration.gradle | 18 +++---
.../scripts/src/main/groovy}/warnings.gradle | 0
build.gradle | 15 +++--
.../geode-dependency-constraints.properties | 1 -
.../gradle-plugins/geode-isolated-test.properties | 1 -
ci/pipelines/shared/utilities.sh | 2 +-
extensions/geode-modules-assembly/build.gradle | 6 +-
.../geode-modules-session-internal/build.gradle | 4 +-
extensions/geode-modules-session/build.gradle | 4 +-
extensions/geode-modules-test/build.gradle | 4 +-
extensions/geode-modules-tomcat7/build.gradle | 6 +-
extensions/geode-modules-tomcat8/build.gradle | 8 ++-
extensions/geode-modules-tomcat9/build.gradle | 8 ++-
extensions/geode-modules/build.gradle | 6 +-
extensions/session-testing-war/build.gradle | 7 ++-
geode-assembly/build.gradle | 15 +++--
geode-assembly/geode-assembly-test/build.gradle | 4 +-
geode-common/build.gradle | 11 ++--
geode-concurrency-test/build.gradle | 9 +--
geode-connectors/build.gradle | 8 ++-
geode-core/build.gradle | 25 ++++----
geode-cq/build.gradle | 7 ++-
.../geode-deployment-legacy/build.gradle | 9 +--
geode-dunit/build.gradle | 8 +--
geode-gfsh/build.gradle | 9 +--
geode-http-service/build.gradle | 9 +--
geode-jmh/build.gradle | 11 ++--
geode-junit/build.gradle | 7 ++-
.../org/apache/geode/util/FilterSerializables.java | 34 +++++-----
.../SerializableExternalResourceTest.java | 8 ++-
.../serializable/SerializableTestNameTest.java | 8 ++-
.../serializable/SerializableTestWatcherTest.java | 8 ++-
.../serializable/SerializableTimeoutTest.java | 8 ++-
geode-log4j/build.gradle | 12 ++--
geode-logging/build.gradle | 9 +--
geode-lucene/build.gradle | 8 +--
geode-lucene/geode-lucene-test/build.gradle | 4 +-
geode-management/build.gradle | 9 +--
geode-membership/build.gradle | 7 ++-
geode-memcached/build.gradle | 7 ++-
geode-old-client-support/build.gradle | 8 +--
geode-old-versions/build.gradle | 6 +-
geode-pulse/build.gradle | 12 ++--
geode-pulse/geode-pulse-test/build.gradle | 6 +-
geode-rebalancer/build.gradle | 10 +--
geode-serialization/build.gradle | 9 +--
geode-server-all/build.gradle | 13 ++--
geode-tcp-server/build.gradle | 9 +--
geode-unsafe/build.gradle | 7 +--
geode-wan/build.gradle | 7 ++-
geode-web-api/build.gradle | 12 ++--
geode-web-management/build.gradle | 14 ++---
geode-web/build.gradle | 12 ++--
settings.gradle | 21 +++++++
static-analysis/build.gradle | 6 +-
static-analysis/pmd-rules/build.gradle | 6 +-
134 files changed, 671 insertions(+), 570 deletions(-)
diff --git a/boms/geode-all-bom/build.gradle b/boms/geode-all-bom/build.gradle
index 32378332ec..f94814b45f 100644
--- a/boms/geode-all-bom/build.gradle
+++ b/boms/geode-all-bom/build.gradle
@@ -17,10 +17,11 @@
plugins {
id 'java-platform'
- id 'geode-dependency-constraints'
+ id 'org.apache.geode.gradle.geode-dependency-constraints'
+ id 'geode-publish-common'
}
-apply from: "${rootDir}/gradle/publish-common.gradle"
+DependencyConstraints.apply(project)
publishing {
publications {
diff --git a/boms/geode-client-bom/build.gradle
b/boms/geode-client-bom/build.gradle
index f012b47e8a..66b4ab5ad6 100644
--- a/boms/geode-client-bom/build.gradle
+++ b/boms/geode-client-bom/build.gradle
@@ -15,10 +15,12 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'io.spring.dependency-management'
+ id 'geode-publish-common'
+}
-apply plugin: "io.spring.dependency-management"
-apply from: "${project.projectDir}/../../gradle/publish-common.gradle"
jar.enabled = false
diff --git a/buildSrc/build.gradle
b/build-tools/geode-annotation-processor/build.gradle
similarity index 74%
copy from buildSrc/build.gradle
copy to build-tools/geode-annotation-processor/build.gradle
index 08be6c8dcb..8dd0e9d4f3 100644
--- a/buildSrc/build.gradle
+++ b/build-tools/geode-annotation-processor/build.gradle
@@ -18,15 +18,14 @@
plugins {
id 'java'
+ id 'java-gradle-plugin'
+ id 'groovy-gradle-plugin'
+ id 'maven-publish'
+ id 'com.gradle.plugin-publish' version '0.18.0'
}
repositories {
mavenCentral()
- gradlePluginPortal() {
- content {
- includeModule('me.champeau.gradle', 'japicmp-gradle-plugin')
- }
- }
}
dependencies {
@@ -34,15 +33,17 @@ dependencies {
transitive(false)
}
implementation(gradleApi())
- implementation('org.apache.commons:commons-lang3:3.12.0')
- implementation('org.apache.maven:maven-artifact:3.8.5')
- implementation('com.google.guava:guava:31.1-jre')
- implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
- implementation('junit:junit:4.13.2')
+
+ testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
testAnnotationProcessor(this.project)
}
+test {
+ useJUnitPlatform()
+}
+
sourceSets {
main {
java {
diff --git a/gradle/warnings.gradle
b/build-tools/geode-annotation-processor/settings.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to build-tools/geode-annotation-processor/settings.gradle
index 72a25f97bc..9d368eb9f6 100644
--- a/gradle/warnings.gradle
+++ b/build-tools/geode-annotation-processor/settings.gradle
@@ -15,7 +15,4 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
-}
+rootProject.name = 'geode-annotation-processor'
diff --git
a/buildSrc/src/main/java/org/apache/geode/javac/EnsureCorrectRunsWithProcessor.java
b/build-tools/geode-annotation-processor/src/main/java/org/apache/geode/javac/EnsureCorrectRunsWithProcessor.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/javac/EnsureCorrectRunsWithProcessor.java
rename to
build-tools/geode-annotation-processor/src/main/java/org/apache/geode/javac/EnsureCorrectRunsWithProcessor.java
diff --git
a/buildSrc/src/main/resources/META-INF/services/javax.annotation.processing.Processor
b/build-tools/geode-annotation-processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor
similarity index 100%
rename from
buildSrc/src/main/resources/META-INF/services/javax.annotation.processing.Processor
rename to
build-tools/geode-annotation-processor/src/main/resources/META-INF/services/javax.annotation.processing.Processor
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
b/build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/CompilerException.java
similarity index 100%
copy from buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
copy to
build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/CompilerException.java
diff --git a/buildSrc/src/test/java/org/apache/geode/javac/SimpleClassFile.java
b/build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/SimpleClassFile.java
similarity index 100%
rename from buildSrc/src/test/java/org/apache/geode/javac/SimpleClassFile.java
rename to
build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/SimpleClassFile.java
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/SimpleFileManager.java
b/build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/SimpleFileManager.java
similarity index 100%
rename from buildSrc/src/test/java/org/apache/geode/javac/SimpleFileManager.java
rename to
build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/SimpleFileManager.java
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/SimpleSourceFile.java
b/build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/SimpleSourceFile.java
similarity index 100%
rename from buildSrc/src/test/java/org/apache/geode/javac/SimpleSourceFile.java
rename to
build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/SimpleSourceFile.java
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/TestAnnotationProcessor.java
b/build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/TestAnnotationProcessor.java
similarity index 100%
rename from
buildSrc/src/test/java/org/apache/geode/javac/TestAnnotationProcessor.java
rename to
build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/TestAnnotationProcessor.java
diff --git a/buildSrc/src/test/java/org/apache/geode/javac/TestCompiler.java
b/build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/TestCompiler.java
similarity index 100%
rename from buildSrc/src/test/java/org/apache/geode/javac/TestCompiler.java
rename to
build-tools/geode-annotation-processor/src/test/java/org/apache/geode/javac/TestCompiler.java
diff --git a/buildSrc/build.gradle b/build-tools/geode-build-tools/build.gradle
similarity index 59%
copy from buildSrc/build.gradle
copy to build-tools/geode-build-tools/build.gradle
index 08be6c8dcb..1aca60b5fb 100644
--- a/buildSrc/build.gradle
+++ b/build-tools/geode-build-tools/build.gradle
@@ -18,38 +18,34 @@
plugins {
id 'java'
+ id 'java-gradle-plugin'
+ id 'groovy-gradle-plugin'
+ id 'maven-publish'
+ id 'com.gradle.plugin-publish' version '0.18.0'
}
repositories {
mavenCentral()
- gradlePluginPortal() {
- content {
- includeModule('me.champeau.gradle', 'japicmp-gradle-plugin')
- }
- }
+ gradlePluginPortal()
}
dependencies {
- testRuntimeOnly('org.apache.geode:geode-junit:1.3.0') {
- transitive(false)
- }
implementation(gradleApi())
- implementation('org.apache.commons:commons-lang3:3.12.0')
- implementation('org.apache.maven:maven-artifact:3.8.5')
- implementation('com.google.guava:guava:31.1-jre')
- implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
- implementation('junit:junit:4.13.2')
- testAnnotationProcessor(this.project)
+ testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
-sourceSets {
- main {
- java {
- srcDirs = []
- }
- groovy {
- srcDirs += ['src/main/java']
- }
+test {
+ useJUnitPlatform()
+}
+
+group = 'org.apache.geode.gradle'
+version = 1.0
+
+gradlePlugin {
+ plugins.register('geode-build-tools') {
+ id = 'org.apache.geode.gradle.geode-build-tools'
+ implementationClass = 'org.apache.geode.gradle.plugins.BuildToolsPlugin'
}
}
diff --git a/gradle/warnings.gradle
b/build-tools/geode-build-tools/settings.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to build-tools/geode-build-tools/settings.gradle
index 72a25f97bc..4956799b14 100644
--- a/gradle/warnings.gradle
+++ b/build-tools/geode-build-tools/settings.gradle
@@ -15,7 +15,4 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
-}
+rootProject.name = 'geode-build-tools'
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
b/build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/BuildToolsPlugin.groovy
similarity index 75%
copy from buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
copy to
build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/BuildToolsPlugin.groovy
index 40de846d3c..b5a1ed832f 100644
--- a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
+++
b/build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/BuildToolsPlugin.groovy
@@ -12,11 +12,13 @@
* or implied. See the License for the specific language governing permissions
and limitations under
* the License.
*/
+package org.apache.geode.gradle.plugins;
-package org.apache.geode.javac;
+import org.gradle.api.Plugin;
+import org.gradle.api.Project;
-public class CompilerException extends RuntimeException {
- public CompilerException(String message){
- super(message);
+public class BuildToolsPlugin implements Plugin<Project> {
+ public void apply(Project project) {
+ // this plugin doesn't create any task by default
}
}
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/PasswordDialog.groovy
b/build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/PasswordDialog.groovy
similarity index 97%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/PasswordDialog.groovy
rename to
build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/PasswordDialog.groovy
index b54affbee9..67072d3e04 100644
--- a/buildSrc/src/main/groovy/org/apache/geode/gradle/PasswordDialog.groovy
+++
b/build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/PasswordDialog.groovy
@@ -14,7 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
+
+package org.apache.geode.gradle.plugins
+
import groovy.swing.SwingBuilder
+
class PasswordDialog {
static String askPassword(String prompt) {
def password = ''
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
b/build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/TestPropertiesWriter.groovy
similarity index 61%
copy from
buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
copy to
build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/TestPropertiesWriter.groovy
index eb039296d6..8e0a1cc804 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
+++
b/build-tools/geode-build-tools/src/main/groovy/org/apache/geode/gradle/plugins/TestPropertiesWriter.groovy
@@ -1,7 +1,3 @@
-package org.apache.geode.gradle.plugins
-
-import org.gradle.api.Project
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
* agreements. See the NOTICE file distributed with this work for additional
information regarding
@@ -17,23 +13,24 @@ import org.gradle.api.Project
* the License.
*/
-class DependencySetHandler {
- String group
- String version
- Project project
+package org.apache.geode.gradle.plugins
- DependencySetHandler(String group, String version, Project project) {
- this.group = group
- this.version = version
- this.project = project
+import java.io.BufferedWriter
+import java.io.File
+import java.util.Properties
+
+class TestPropertiesWriter {
+ static void writeTestProperties(File parent, String name) {
+ Properties props = new Properties()
+ props.setProperty('log-level', 'config')
+ File propsFile = new File(testResultsDir(parent, name),
'gemfire.properties')
+ BufferedWriter writer = propsFile.newWriter()
+ props.store(writer, 'Autogenerated Gemfire properties')
}
- void entry(String name) {
- this.project.dependencies.constraints {
- api(group: group, name: name, version: version)
- }
+ static File testResultsDir(File parent, String name) {
+ return new File(parent, name)
}
-
-
}
+
diff --git a/buildSrc/build.gradle
b/build-tools/geode-dependency-management/build.gradle
similarity index 66%
copy from buildSrc/build.gradle
copy to build-tools/geode-dependency-management/build.gradle
index 08be6c8dcb..46fb5adfda 100644
--- a/buildSrc/build.gradle
+++ b/build-tools/geode-dependency-management/build.gradle
@@ -18,29 +18,16 @@
plugins {
id 'java'
+ id 'groovy-gradle-plugin'
}
repositories {
mavenCentral()
- gradlePluginPortal() {
- content {
- includeModule('me.champeau.gradle', 'japicmp-gradle-plugin')
- }
- }
+ gradlePluginPortal()
}
dependencies {
- testRuntimeOnly('org.apache.geode:geode-junit:1.3.0') {
- transitive(false)
- }
implementation(gradleApi())
- implementation('org.apache.commons:commons-lang3:3.12.0')
- implementation('org.apache.maven:maven-artifact:3.8.5')
- implementation('com.google.guava:guava:31.1-jre')
- implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
- implementation('junit:junit:4.13.2')
-
- testAnnotationProcessor(this.project)
}
sourceSets {
@@ -53,3 +40,10 @@ sourceSets {
}
}
}
+
+gradlePlugin {
+ plugins.register('geode-dependency-constraints') {
+ id = 'org.apache.geode.gradle.geode-dependency-constraints'
+ implementationClass =
'org.apache.geode.gradle.plugins.DependencyConstraintsPlugin'
+ }
+}
diff --git a/gradle/warnings.gradle
b/build-tools/geode-dependency-management/settings.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to build-tools/geode-dependency-management/settings.gradle
index 72a25f97bc..035585842d 100644
--- a/gradle/warnings.gradle
+++ b/build-tools/geode-dependency-management/settings.gradle
@@ -15,7 +15,4 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
-}
+rootProject.name = 'geode-dependency-management'
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
similarity index 98%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
rename to
build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
index efa7418693..fdd38a564c 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
+++
b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraints.groovy
@@ -15,12 +15,11 @@
package org.apache.geode.gradle.plugins
-import org.gradle.api.Plugin
import org.gradle.api.Project
-class DependencyConstraints implements Plugin<Project> {
- /** By necessity, the version of those plugins used in the build-scripts are
defined in the
- * buildscript {} configuration in the root project's build.gradle. */
+class DependencyConstraints {
+/** By necessity, the version of those plugins used in the build-scripts are
defined in the
+ * buildscript {} configuration in the root project's build.gradle. */
static Map<String,String> disparateDependencies = initExternalDependencies()
static String get(String name) {
@@ -75,7 +74,6 @@ class DependencyConstraints implements Plugin<Project> {
return deps
}
- @Override
void apply(Project project) {
def dependencySet = { Map<String, String> group_and_version, Closure
closure ->
DependencySetHandler delegate =
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraintsPlugin.groovy
similarity index 73%
copy from buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
copy to
build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraintsPlugin.groovy
index 40de846d3c..6c4c810b22 100644
--- a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
+++
b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencyConstraintsPlugin.groovy
@@ -13,10 +13,15 @@
* the License.
*/
-package org.apache.geode.javac;
+package org.apache.geode.gradle.plugins
-public class CompilerException extends RuntimeException {
- public CompilerException(String message){
- super(message);
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+
+class DependencyConstraintsPlugin implements Plugin<Project> {
+
+ @Override
+ void apply(Project project) {
+ project.extensions.create("DependencyConstraints", DependencyConstraints)
}
}
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
b/build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
similarity index 100%
copy from
buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
copy to
build-tools/geode-dependency-management/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
diff --git a/buildSrc/build.gradle b/build-tools/geode-japicmp/build.gradle
similarity index 70%
copy from buildSrc/build.gradle
copy to build-tools/geode-japicmp/build.gradle
index 08be6c8dcb..9136fd3ecc 100644
--- a/buildSrc/build.gradle
+++ b/build-tools/geode-japicmp/build.gradle
@@ -17,30 +17,17 @@
*/
plugins {
- id 'java'
+ id 'groovy-gradle-plugin'
}
repositories {
mavenCentral()
- gradlePluginPortal() {
- content {
- includeModule('me.champeau.gradle', 'japicmp-gradle-plugin')
- }
- }
+ gradlePluginPortal()
}
dependencies {
- testRuntimeOnly('org.apache.geode:geode-junit:1.3.0') {
- transitive(false)
- }
implementation(gradleApi())
- implementation('org.apache.commons:commons-lang3:3.12.0')
- implementation('org.apache.maven:maven-artifact:3.8.5')
- implementation('com.google.guava:guava:31.1-jre')
implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
- implementation('junit:junit:4.13.2')
-
- testAnnotationProcessor(this.project)
}
sourceSets {
@@ -53,3 +40,12 @@ sourceSets {
}
}
}
+
+group = 'org.apache.geode.gradle'
+version = 1.0
+gradlePlugin {
+ plugins.register('geode-japicmp') {
+ id = 'org.apache.geode.gradle.geode-japicmp'
+ implementationClass = 'org.apache.geode.gradle.japicmp.JapicmpPlugin'
+ }
+}
diff --git a/gradle/warnings.gradle b/build-tools/geode-japicmp/settings.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to build-tools/geode-japicmp/settings.gradle
index 72a25f97bc..3eda382cb4 100644
--- a/gradle/warnings.gradle
+++ b/build-tools/geode-japicmp/settings.gradle
@@ -15,7 +15,4 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
-}
+rootProject.name = 'geode-japicmp'
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/AllowMajorBreakingChanges.groovy
b/build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/AllowMajorBreakingChanges.groovy
similarity index 100%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/AllowMajorBreakingChanges.groovy
rename to
build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/AllowMajorBreakingChanges.groovy
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeApiRegressionRule.groovy
b/build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeApiRegressionRule.groovy
similarity index 100%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeApiRegressionRule.groovy
rename to
build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeApiRegressionRule.groovy
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeSpiRegressionRule.groovy
b/build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeSpiRegressionRule.groovy
similarity index 100%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeSpiRegressionRule.groovy
rename to
build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/GeodeSpiRegressionRule.groovy
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
b/build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/JapicmpPlugin.groovy
similarity index 73%
copy from buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
copy to
build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/JapicmpPlugin.groovy
index 40de846d3c..dd7a37169f 100644
--- a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
+++
b/build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/JapicmpPlugin.groovy
@@ -13,10 +13,17 @@
* the License.
*/
-package org.apache.geode.javac;
+package org.apache.geode.gradle.japicmp
-public class CompilerException extends RuntimeException {
- public CompilerException(String message){
- super(message);
+import org.gradle.api.Plugin
+import org.gradle.api.Project
+
+class JapicmpPlugin implements Plugin<Project> {
+
+ @Override
+ void apply(Project project) {
+ // Plugin loads no tasks. Only provided to load API comparison rule
classes from this package.
}
}
+
+
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/ParentIsExperimental.groovy
b/build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/ParentIsExperimental.groovy
similarity index 100%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/japicmp/ParentIsExperimental.groovy
rename to
build-tools/geode-japicmp/src/main/groovy/org/apache/geode/gradle/japicmp/ParentIsExperimental.groovy
diff --git a/buildSrc/src/main/resources/japicmp_exceptions.json
b/build-tools/geode-japicmp/src/main/resources/japicmp_exceptions.json
similarity index 100%
rename from buildSrc/src/main/resources/japicmp_exceptions.json
rename to build-tools/geode-japicmp/src/main/resources/japicmp_exceptions.json
diff --git a/buildSrc/build.gradle b/build-tools/geode-repeat-test/build.gradle
similarity index 62%
copy from buildSrc/build.gradle
copy to build-tools/geode-repeat-test/build.gradle
index 08be6c8dcb..18a74e8d78 100644
--- a/buildSrc/build.gradle
+++ b/build-tools/geode-repeat-test/build.gradle
@@ -18,38 +18,35 @@
plugins {
id 'java'
+ id 'java-gradle-plugin'
+ id 'groovy-gradle-plugin'
+ id 'maven-publish'
+ id 'com.gradle.plugin-publish' version '0.18.0'
}
repositories {
mavenCentral()
- gradlePluginPortal() {
- content {
- includeModule('me.champeau.gradle', 'japicmp-gradle-plugin')
- }
- }
+ gradlePluginPortal()
}
dependencies {
- testRuntimeOnly('org.apache.geode:geode-junit:1.3.0') {
- transitive(false)
- }
implementation(gradleApi())
- implementation('org.apache.commons:commons-lang3:3.12.0')
- implementation('org.apache.maven:maven-artifact:3.8.5')
implementation('com.google.guava:guava:31.1-jre')
- implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
- implementation('junit:junit:4.13.2')
- testAnnotationProcessor(this.project)
+ testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
}
-sourceSets {
- main {
- java {
- srcDirs = []
- }
- groovy {
- srcDirs += ['src/main/java']
- }
+test {
+ useJUnitPlatform()
+}
+
+group = 'org.apache.geode.gradle'
+version = 1.0
+
+gradlePlugin {
+ plugins.register('geodeRepeatTest') {
+ id = 'org.apache.geode.gradle.geode-repeat-test'
+ implementationClass =
'org.apache.geode.gradle.testing.repeat.RepeatTestPlugin'
}
}
diff --git a/gradle/warnings.gradle
b/build-tools/geode-repeat-test/settings.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to build-tools/geode-repeat-test/settings.gradle
index 72a25f97bc..6630310627 100644
--- a/gradle/warnings.gradle
+++ b/build-tools/geode-repeat-test/settings.gradle
@@ -15,7 +15,4 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
-}
+rootProject.name = 'geode-repeat-test'
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTest.groovy
b/build-tools/geode-repeat-test/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTest.groovy
similarity index 51%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTest.groovy
rename to
build-tools/geode-repeat-test/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTest.groovy
index 82fc4ba915..e2d4912fe7 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTest.groovy
+++
b/build-tools/geode-repeat-test/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTest.groovy
@@ -21,40 +21,51 @@ import
org.gradle.api.internal.tasks.testing.JvmTestExecutionSpec
import org.gradle.api.internal.tasks.testing.TestExecuter
import org.gradle.api.internal.tasks.testing.filter.DefaultTestFilter
import org.gradle.api.tasks.testing.Test
+import org.gradle.api.tasks.Input
import org.gradle.internal.time.Clock
import org.gradle.internal.work.WorkerLeaseRegistry
-class RepeatTest extends Test {
- int times = 1
-
- /**
- * Submit each test class for processing multiple times.
- */
- @Override
- FileTree getCandidateClassFiles() {
- FileTree candidates = super.getCandidateClassFiles()
- int additionalRuns = times - 1
- for (int i = 0; i < additionalRuns; i++) {
- candidates = candidates.plus(super.getCandidateClassFiles())
- }
-
- return candidates
- }
+public class RepeatTest extends Test {
+
+ @Input
+ private int times = 5
- /**
- * Use a custom {@link TestExecuter} that processes each test class as
many times as submitted.
- */
- @Override
- protected TestExecuter<JvmTestExecutionSpec> createTestExecuter() {
- return new RepeatTestExecuter(
- super.createTestExecuter().workerFactory,
- getActorFactory(),
- getModuleRegistry(),
- getServices().get(WorkerLeaseRegistry.class),
- getServices().get(StartParameter.class).getMaxWorkerCount(),
- getServices().get(Clock.class),
- getServices().get(DocumentationRegistry.class),
- (DefaultTestFilter) getFilter(),
- times)
+ /**
+ * Submit each test class for processing multiple times.
+ */
+ @Override
+ public FileTree getCandidateClassFiles() {
+ FileTree candidates = super.getCandidateClassFiles()
+ int additionalRuns = times - 1
+ for (int i = 0; i < additionalRuns; i++) {
+ candidates = candidates.plus(super.getCandidateClassFiles())
}
+
+ return candidates
+ }
+
+ /**
+ * Use a custom {@link TestExecuter} that processes each test class as many
times as submitted.
+ */
+ @Override
+ protected TestExecuter<JvmTestExecutionSpec> createTestExecuter() {
+ return new RepeatTestExecuter(
+ super.createTestExecuter().workerFactory,
+ getActorFactory(),
+ getModuleRegistry(),
+ getServices().get(WorkerLeaseRegistry.class),
+ getServices().get(StartParameter.class).getMaxWorkerCount(),
+ getServices().get(Clock.class),
+ getServices().get(DocumentationRegistry.class),
+ (DefaultTestFilter) getFilter(),
+ times)
+ }
+
+ int getTimes() {
+ return times
+ }
+
+ void setTimes(int times) {
+ this.times = times
+ }
}
diff --git
a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
b/build-tools/geode-repeat-test/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTestPlugin.groovy
similarity index 60%
rename from buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
rename to
build-tools/geode-repeat-test/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTestPlugin.groovy
index 40de846d3c..2f1ddbe245 100644
--- a/buildSrc/src/test/java/org/apache/geode/javac/CompilerException.java
+++
b/build-tools/geode-repeat-test/src/main/groovy/org/apache/geode/gradle/testing/repeat/RepeatTestPlugin.groovy
@@ -12,11 +12,16 @@
* or implied. See the License for the specific language governing permissions
and limitations under
* the License.
*/
+package org.apache.geode.gradle.testing.repeat;
-package org.apache.geode.javac;
+import org.gradle.api.Plugin;
+import org.gradle.api.Project;
+import org.gradle.api.tasks.testing.Test;
-public class CompilerException extends RuntimeException {
- public CompilerException(String message){
- super(message);
+public class RepeatTestPlugin implements Plugin<Project> {
+ public void apply(Project project) {
+ // this plugin doesn't create any task by default
+ // TODO: Look at how Dale did the test-isolation instrumentation to
configure existing tasks on the project, and
+ // also any new tasks created on the project, and use that to create our
repeat tasks
}
}
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestClassProcessor.java
b/build-tools/geode-repeat-test/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestClassProcessor.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestClassProcessor.java
rename to
build-tools/geode-repeat-test/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestClassProcessor.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestResultProcessor.java
b/build-tools/geode-repeat-test/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestResultProcessor.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestResultProcessor.java
rename to
build-tools/geode-repeat-test/src/main/java/org/apache/geode/gradle/testing/repeat/ExecutionTrackingTestResultProcessor.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/repeat/RepeatTestExecuter.java
b/build-tools/geode-repeat-test/src/main/java/org/apache/geode/gradle/testing/repeat/RepeatTestExecuter.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/repeat/RepeatTestExecuter.java
rename to
build-tools/geode-repeat-test/src/main/java/org/apache/geode/gradle/testing/repeat/RepeatTestExecuter.java
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
b/build-tools/geode-repeat-test/src/test/groovy/org/apache/geode/gradle/testing/repeat/RepeatTestTest.groovy
similarity index 66%
copy from
buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
copy to
build-tools/geode-repeat-test/src/test/groovy/org/apache/geode/gradle/testing/repeat/RepeatTestTest.groovy
index eb039296d6..be3af3de50 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
+++
b/build-tools/geode-repeat-test/src/test/groovy/org/apache/geode/gradle/testing/repeat/RepeatTestTest.groovy
@@ -1,7 +1,3 @@
-package org.apache.geode.gradle.plugins
-
-import org.gradle.api.Project
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
* agreements. See the NOTICE file distributed with this work for additional
information regarding
@@ -16,24 +12,19 @@ import org.gradle.api.Project
* or implied. See the License for the specific language governing permissions
and limitations under
* the License.
*/
+package org.apache.geode.gradle.testing.repeat
-class DependencySetHandler {
- String group
- String version
- Project project
+import org.gradle.testfixtures.ProjectBuilder
+import org.gradle.api.Project
+import org.junit.Test
- DependencySetHandler(String group, String version, Project project) {
- this.group = group
- this.version = version
- this.project = project
- }
+import static org.junit.Assert.assertTrue;
- void entry(String name) {
- this.project.dependencies.constraints {
- api(group: group, name: name, version: version)
- }
+class RepeatTestTest {
+ @Test
+ void canAddTaskToProject() {
+ Project project = ProjectBuilder.builder().build()
+ def task = project.task('repeatTest', type: RepeatTest)
+ assertTrue(task instanceof RepeatTest)
}
-
-
}
-
diff --git a/geode-old-client-support/build.gradle
b/build-tools/geode-testing-isolation/build.gradle
similarity index 57%
copy from geode-old-client-support/build.gradle
copy to build-tools/geode-testing-isolation/build.gradle
index ee47e2a14e..ad921325db 100644
--- a/geode-old-client-support/build.gradle
+++ b/build-tools/geode-testing-isolation/build.gradle
@@ -13,22 +13,36 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
+ *
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'java'
+ id 'java-gradle-plugin'
+ id 'groovy-gradle-plugin'
+ id 'maven-publish'
+ id 'com.gradle.plugin-publish' version '0.18.0'
+}
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
+group = 'org.apache.geode.gradle'
+version = 1.0
+repositories {
+ mavenCentral()
+}
dependencies {
- implementation(platform(project(':boms:geode-all-bom')))
- implementation(project(':geode-core'))
- implementation(project(':geode-logging'))
- implementation(project(':geode-serialization'))
- distributedTestImplementation(project(':geode-dunit')){
- exclude module: 'geode-core'
- }
+ testImplementation 'org.junit.jupiter:junit-jupiter-api:5.8.1'
+ testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.8.1'
+}
+test {
+ useJUnitPlatform()
+}
- distributedTestImplementation('junit:junit')
+gradlePlugin {
+ plugins.register('geodeTestingIsolation') {
+ id = 'org.apache.geode.gradle.geode-testing-isolation'
+ implementationClass =
'org.apache.geode.gradle.testing.isolation.IsolatedTestPlugin'
+ }
}
diff --git a/gradle/warnings.gradle
b/build-tools/geode-testing-isolation/settings.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to build-tools/geode-testing-isolation/settings.gradle
index 72a25f97bc..caec879f19 100644
--- a/gradle/warnings.gradle
+++ b/build-tools/geode-testing-isolation/settings.gradle
@@ -15,7 +15,4 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
-}
+rootProject.name = 'geode-testing-isolation'
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/Executers.groovy
b/build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/Executers.groovy
similarity index 100%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/testing/Executers.groovy
rename to
build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/Executers.groovy
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/Workers.groovy
b/build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/Workers.groovy
similarity index 99%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/testing/Workers.groovy
rename to
build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/Workers.groovy
index 5d0b46fd20..0402465dbe 100644
--- a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/Workers.groovy
+++
b/build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/Workers.groovy
@@ -18,6 +18,7 @@ package org.apache.geode.gradle.testing
import
org.apache.geode.gradle.testing.process.LauncherProxyWorkerProcessFactory
import org.apache.geode.gradle.testing.process.ProcessLauncher
+
import org.gradle.internal.remote.MessagingServer
import org.gradle.process.internal.worker.WorkerProcessFactory
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/isolation/IsolatedTestPlugin.groovy
b/build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/isolation/IsolatedTestPlugin.groovy
similarity index 93%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/testing/isolation/IsolatedTestPlugin.groovy
rename to
build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/isolation/IsolatedTestPlugin.groovy
index 10769bc4ec..f0032d0ff7 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/testing/isolation/IsolatedTestPlugin.groovy
+++
b/build-tools/geode-testing-isolation/src/main/groovy/org/apache/geode/gradle/testing/isolation/IsolatedTestPlugin.groovy
@@ -46,12 +46,11 @@ class IsolatedTestPlugin implements Plugin<Project> {
initializePortRangeWorkerProcessFactory(project.gradle.startParameter.maxWorkerCount)
def usePortRangeTestWorker = {
- if (!it.hasProperty('isolatedTest')) {
- return
- }
- it.doFirst {
- testExecuter = Executers.withFactory(it,
portRangeWorkerProcessFactory)
+ it.doFirst {
+ if (it.hasProperty('isolatedTest')) {
+ testExecuter = Executers.withFactory(it,
portRangeWorkerProcessFactory)
}
+ }
}
project.tasks.withType(Test).each(usePortRangeTestWorker)
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/CompletableProcess.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/CompletableProcess.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/CompletableProcess.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/CompletableProcess.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/PortRange.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/PortRange.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/PortRange.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/PortRange.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeContext.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeContext.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeContext.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeContext.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeProcessLauncher.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeProcessLauncher.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeProcessLauncher.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/PortRangeProcessLauncher.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolator.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolator.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolator.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolator.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/process/AdjustableProcessLauncher.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/AdjustableProcessLauncher.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/process/AdjustableProcessLauncher.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/AdjustableProcessLauncher.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessBuilder.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessBuilder.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessBuilder.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessBuilder.java
diff --git
a/buildSrc/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
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/LauncherProxyWorkerProcessFactory.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/process/ProcessLauncher.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/ProcessLauncher.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/process/ProcessLauncher.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/ProcessLauncher.java
diff --git
a/buildSrc/src/main/java/org/apache/geode/gradle/testing/process/Reflection.java
b/build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/Reflection.java
similarity index 100%
rename from
buildSrc/src/main/java/org/apache/geode/gradle/testing/process/Reflection.java
rename to
build-tools/geode-testing-isolation/src/main/java/org/apache/geode/gradle/testing/process/Reflection.java
diff --git
a/buildSrc/src/test/java/org/apache/geode/gradle/test/isolation/PortRangeTest.java
b/build-tools/geode-testing-isolation/src/test/java/org/apache/geode/gradle/test/isolation/PortRangeTest.java
similarity index 87%
rename from
buildSrc/src/test/java/org/apache/geode/gradle/test/isolation/PortRangeTest.java
rename to
build-tools/geode-testing-isolation/src/test/java/org/apache/geode/gradle/test/isolation/PortRangeTest.java
index 5bb126b833..617a8f53a5 100644
---
a/buildSrc/src/test/java/org/apache/geode/gradle/test/isolation/PortRangeTest.java
+++
b/build-tools/geode-testing-isolation/src/test/java/org/apache/geode/gradle/test/isolation/PortRangeTest.java
@@ -16,31 +16,28 @@
package org.apache.geode.gradle.test.isolation;
import static java.util.stream.Collectors.toList;
-import static org.junit.Assert.assertTrue;
import java.util.List;
import java.util.stream.IntStream;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-
import org.apache.geode.gradle.testing.isolation.PortRange;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
public class PortRangeTest {
@Test
public void firstPartitionHasSameLowerBoundAsFullRange() {
PortRange fullRange = new PortRange(11111, 19994); // Arbitrary
PortRange firstPartition = fullRange.partition(0, 24);
- assertEquals(fullRange.lowerBound(), firstPartition.lowerBound());
+ Assertions.assertEquals(fullRange.lowerBound(),
firstPartition.lowerBound());
+
}
@Test
public void lastPartitionHasSameUpperBoundAsSourceRange() {
PortRange fullRange = new PortRange(3333, 20002); // Arbitrary
PortRange lastPartition = fullRange.partition(23, 24);
- assertEquals(fullRange.upperBound(), lastPartition.upperBound());
+ Assertions.assertEquals(fullRange.upperBound(),
lastPartition.upperBound());
}
@Test
@@ -59,7 +56,7 @@ public class PortRangeTest {
String description = String.format(
"partition %d upper bound (%d) is adjacent to partition %d lower
bound (%d)",
i - 1, lowerPartitionUpperBound, i, upperPartitionLowerBound);
- assertTrue(description, areAdjacent);
+ Assertions.assertTrue(areAdjacent, description);
}
}
@@ -80,6 +77,6 @@ public class PortRangeTest {
String description = String.format(
"minimum (%d) and maximum (%d) partition sizes differ by no more than
1",
minPartitionSize, maxPartitionSize);
- assertTrue(description, maxPartitionSize - minPartitionSize <= 1);
+ Assertions.assertTrue(maxPartitionSize - minPartitionSize <= 1,
description);
}
}
diff --git
a/buildSrc/src/test/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolatorTest.java
b/build-tools/geode-testing-isolation/src/test/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolatorTest.java
similarity index 78%
rename from
buildSrc/src/test/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolatorTest.java
rename to
build-tools/geode-testing-isolation/src/test/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolatorTest.java
index b19b11597b..c4b794e436 100644
---
a/buildSrc/src/test/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolatorTest.java
+++
b/build-tools/geode-testing-isolation/src/test/java/org/apache/geode/gradle/testing/isolation/WorkingDirectoryIsolatorTest.java
@@ -15,12 +15,11 @@
*/
package org.apache.geode.gradle.testing.isolation;
-import static org.junit.Assert.assertEquals;
-
import java.io.File;
import java.util.Arrays;
-import org.junit.Test;
+import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.Test;
public class WorkingDirectoryIsolatorTest {
@@ -31,7 +30,7 @@ public class WorkingDirectoryIsolatorTest {
processBuilder.command("/bin/java",
"-javaagent:../some/jacocoagent.jar=destfile=../jacoco/integrationTest.exec",
"GradleWorkerMain");
new WorkingDirectoryIsolator().accept(processBuilder);
- assertEquals(Arrays.asList("/bin/java",
"-javaagent:../../some/jacocoagent.jar=destfile=../../jacoco/integrationTest.exec",
"GradleWorkerMain"), processBuilder.command());
+ Assertions.assertEquals(Arrays.asList("/bin/java",
"-javaagent:../../some/jacocoagent.jar=destfile=../../jacoco/integrationTest.exec",
"GradleWorkerMain"), processBuilder.command());
}
@Test
@@ -41,7 +40,7 @@ public class WorkingDirectoryIsolatorTest {
processBuilder.command("/bin/java",
"-javaagent:..\\some\\jacocoagent.jar=destfile=..\\jacoco\\integrationTest.exec",
"GradleWorkerMain");
new WorkingDirectoryIsolator().accept(processBuilder);
- assertEquals(Arrays.asList("/bin/java",
"-javaagent:..\\..\\some\\jacocoagent.jar=destfile=..\\..\\jacoco\\integrationTest.exec",
"GradleWorkerMain"), processBuilder.command());
+ Assertions.assertEquals(Arrays.asList("/bin/java",
"-javaagent:..\\..\\some\\jacocoagent.jar=destfile=..\\..\\jacoco\\integrationTest.exec",
"GradleWorkerMain"), processBuilder.command());
}
}
diff --git a/buildSrc/build.gradle b/build-tools/scripts/build.gradle
similarity index 60%
rename from buildSrc/build.gradle
rename to build-tools/scripts/build.gradle
index 08be6c8dcb..25b542d1a0 100644
--- a/buildSrc/build.gradle
+++ b/build-tools/scripts/build.gradle
@@ -13,43 +13,25 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
plugins {
- id 'java'
+ id 'groovy-gradle-plugin'
}
repositories {
mavenCentral()
- gradlePluginPortal() {
- content {
- includeModule('me.champeau.gradle', 'japicmp-gradle-plugin')
- }
- }
+ gradlePluginPortal()
}
dependencies {
- testRuntimeOnly('org.apache.geode:geode-junit:1.3.0') {
- transitive(false)
- }
- implementation(gradleApi())
- implementation('org.apache.commons:commons-lang3:3.12.0')
- implementation('org.apache.maven:maven-artifact:3.8.5')
- implementation('com.google.guava:guava:31.1-jre')
+ 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")
implementation('me.champeau.gradle:japicmp-gradle-plugin:0.3.0')
- implementation('junit:junit:4.13.2')
-
- testAnnotationProcessor(this.project)
-}
-sourceSets {
- main {
- java {
- srcDirs = []
- }
- groovy {
- srcDirs += ['src/main/java']
- }
- }
+
implementation('org.apache.geode.gradle:org.apache.geode.gradle.geode-repeat-test:1.0')
+ implementation('org.apache.geode.gradle:geode-japicmp:1.0')
+
implementation('org.apache.geode.gradle:org.apache.geode.gradle.geode-build-tools:1.0')
+
implementation('org.apache.geode.gradle:org.apache.geode.gradle.geode-testing-isolation:1.0')
}
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/TestPropertiesWriter.groovy
b/build-tools/scripts/settings.gradle
similarity index 50%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/TestPropertiesWriter.groovy
rename to build-tools/scripts/settings.gradle
index 4fb2cc4371..357290e402 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/TestPropertiesWriter.groovy
+++ b/build-tools/scripts/settings.gradle
@@ -13,21 +13,27 @@
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
- *
*/
-package org.apache.geode.gradle
+includeBuild("${rootDir}/../geode-dependency-management")
-class TestPropertiesWriter {
- static void writeTestProperties(File parent, String name) {
- Properties props = new Properties()
- props.setProperty('log-level', 'config')
- File propsFile = new File(testResultsDir(parent, name),
'gemfire.properties')
- BufferedWriter writer = propsFile.newWriter()
- props.store(writer, 'Autogenerated Gemfire properties')
+includeBuild("${rootDir}/../geode-japicmp") {
+ dependencySubstitution {
+ substitute module('org.apache.geode.gradle:geode-japicmp') using
project(':')
}
-
- static File testResultsDir(File parent, String name) {
- return new File(parent, name)
+}
+includeBuild("${rootDir}/../geode-repeat-test") {
+ dependencySubstitution {
+ substitute
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-repeat-test')
using project(':')
+ }
+}
+includeBuild("${rootDir}/../geode-build-tools") {
+ dependencySubstitution {
+ substitute
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-build-tools')
using project(':')
+ }
+}
+includeBuild("${rootDir}/../geode-testing-isolation") {
+ dependencySubstitution {
+ substitute
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-testing-isolation')
using project(':')
}
}
diff --git a/gradle/check-pom.gradle
b/build-tools/scripts/src/main/groovy/check-pom.gradle
similarity index 95%
rename from gradle/check-pom.gradle
rename to build-tools/scripts/src/main/groovy/check-pom.gradle
index 7cfe73ede2..d73492f3a8 100644
--- a/gradle/check-pom.gradle
+++ b/build-tools/scripts/src/main/groovy/check-pom.gradle
@@ -19,11 +19,13 @@ import java.nio.file.Paths
def expectedPomFile = Paths.get(projectDir.toString(), 'src', 'test',
'resources', 'expected-pom.xml')
-task('checkPom') {
+tasks.register('checkPom') {
// The XmlParser used below has a strange tendency to return lists of fields
rather than the field
// you actually want. Be careful with that, future developer.
group 'verification'
- dependsOn('generatePomFileForMavenPublication')
+ inputs.files {
+ tasks.named('generatePomFileForMavenPublication')
+ }
description 'Checks the generated POM against an expected POM for dependency
changes.' +
' Ignores versions of Apache Geode dependencies.'
@@ -78,7 +80,6 @@ task('checkPom') {
}
doLast {
- if (tasks.getByName("generatePomFileForMavenPublication").enabled) {
if (null == expectedPomFile) {
throw new RuntimeException("expected-pom.xml not found.")
}
@@ -131,17 +132,17 @@ Alternatively, run './gradlew
${project.path}:updateExpectedPom' to replace the
"""
thisOutput.write(message)
throw new RuntimeException(message)
- }
}
}
}
check.dependsOn('checkPom')
-task updateExpectedPom(dependsOn: generatePomFileForMavenPublication, type:
Copy) {
+tasks.register('updateExpectedPom', Copy) {
+ dependsOn tasks.named('generatePomFileForMavenPublication')
description 'After having verified changes with checkPom, this task will
perform the copy.'
def expectedPomDir = expectedPomFile.parent
- def actualPomFile = generatePomFileForMavenPublication.outputs.files.first()
+ def actualPomFile =
tasks.named('generatePomFileForMavenPublication').get().outputs.files.first()
inputs.files {
[actualPomFile,
expectedPomFile]
@@ -149,7 +150,7 @@ task updateExpectedPom(dependsOn:
generatePomFileForMavenPublication, type: Copy
outputs.files {
expectedPomFile
}
- if (tasks.getByName("generatePomFileForMavenPublication").enabled) {
+ if (tasks.named("generatePomFileForMavenPublication").get().enabled) {
from actualPomFile
into expectedPomDir
rename '.*.xml', "expected-pom.xml"
diff --git a/gradle/code-analysis.gradle
b/build-tools/scripts/src/main/groovy/code-analysis.gradle
similarity index 64%
rename from gradle/code-analysis.gradle
rename to build-tools/scripts/src/main/groovy/code-analysis.gradle
index 7ec7570131..2f35e84301 100644
--- a/gradle/code-analysis.gradle
+++ b/build-tools/scripts/src/main/groovy/code-analysis.gradle
@@ -15,50 +15,46 @@
* limitations under the License.
*/
-if (project.hasProperty("staticAnalysis")) {
- apply plugin: 'checkstyle'
+plugins {
+ // Findbugs has been removed as of Gradle 6. Spotbugs is an alternative, if
anyone wants to enable it.
+// id 'com.github.spotbugs'
+ id 'jacoco'
+}
- //Checkstyle configuration
- configurations.checkstyle {
- dependencies.all { dep ->
- dep.transitive = true
+// JaCoCo configuration
+def jacocoOff = {
+ it.configure {
+ jacoco {
+ enabled = false
}
}
-
- //Findbugs configuration
- apply plugin: 'findbugs'
-
- // Switch default Findbugs report to HTML for developers
- def findbugsXmlEnabled = false
- def findbugsHtmlEnabled = true
-
- // Provide ability to change report type to XML for ingesting into other ap
- if (project.hasProperty("findbugsXmlReport")) {
- findbugsXmlEnabled = true
- findbugsHtmlEnabled = false
- }
-
- configurations.findbugs {
- dependencies.all { dep ->
- dep.transitive = true
+}
+def jacocoOn = {
+ it.configure {
+ jacoco {
+ enabled = true
}
- findbugs.effort = 'max'
- findbugs.reportLevel = 'low'
- }
+ }
+}
- tasks.withType(FindBugs) {
- reports {
- xml.enabled = findbugsXmlEnabled
- html.enabled = findbugsHtmlEnabled
- }
+// Default is off
+project.tasks.withType(Test).each(jacocoOff)
+project.tasks.whenTaskAdded() {
+ if (it instanceof Test) {
+ it.configure(jacocoOff)
}
}
-// JaCoCo configuration
if (project.hasProperty("codeCoverage")) {
- apply plugin: 'jacoco'
+ // Enable if provided
+ project.tasks.withType(Test).each(jacocoOn)
+ project.tasks.whenTaskAdded() {
+ if (it instanceof Test) {
+ it.configure(jacocoOn)
+ }
+ }
- task mergeIntegrationTestCoverage(type: JacocoMerge) {
+ tasks.register('mergeIntegrationTestCoverage', JacocoMerge) {
description 'Merges Distributed and Integration test coverage results'
destinationFile =
file("${buildDir}/jacoco/mergedIntegrationTestCoverage.exec")
@@ -66,10 +62,9 @@ if (project.hasProperty("codeCoverage")) {
'**/distributedTest.exec',
'**/integrationTest.exec'
])
-
}
- task jacocoIntegrationTestReport(type: JacocoReport) {
+ tasks.register('jacocoIntegrationTestReport', JacocoReport) {
reports {
csv.enabled false
sourceSets project.sourceSets.main
@@ -78,7 +73,7 @@ if (project.hasProperty("codeCoverage")) {
}
}
- task jacocoDistributedTestReport(type: JacocoReport) {
+ tasks.register('jacocoDistributedTestReport', JacocoReport) {
reports {
csv.enabled false
sourceSets project.sourceSets.main
@@ -87,7 +82,7 @@ if (project.hasProperty("codeCoverage")) {
}
}
- task jacocoOverallTestReport(type: JacocoReport) {
+ tasks.register('jacocoOverallTestReport', JacocoReport) {
reports {
csv.enabled false
sourceSets project.sourceSets.main
diff --git a/gradle/dependency-resolution.gradle
b/build-tools/scripts/src/main/groovy/dependency-resolution.gradle
similarity index 100%
rename from gradle/dependency-resolution.gradle
rename to build-tools/scripts/src/main/groovy/dependency-resolution.gradle
diff --git a/gradle/japicmp.gradle
b/build-tools/scripts/src/main/groovy/geode-japicmp-task.gradle
similarity index 97%
rename from gradle/japicmp.gradle
rename to build-tools/scripts/src/main/groovy/geode-japicmp-task.gradle
index e833493117..c3cdff2735 100644
--- a/gradle/japicmp.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-japicmp-task.gradle
@@ -18,17 +18,16 @@
import japicmp.model.JApiChangeStatus
import org.apache.maven.artifact.versioning.ComparableVersion
import org.apache.maven.artifact.versioning.DefaultArtifactVersion
-
-import org.apache.geode.gradle.japicmp.AllowMajorBreakingChanges
+import me.champeau.gradle.japicmp.JapicmpTask
import org.apache.geode.gradle.japicmp.ParentIsExperimental
import org.apache.geode.gradle.japicmp.GeodeApiRegressionRule
import org.apache.geode.gradle.japicmp.GeodeSpiRegressionRule
-
+import org.apache.geode.gradle.japicmp.AllowMajorBreakingChanges
def mostRecentReleaseProj = project(':geode-old-versions').subprojects.max(){
v -> new ComparableVersion(v.name)}
def newest = mostRecentReleaseProj.name
-tasks.register('japicmp', me.champeau.gradle.japicmp.JapicmpTask) {
+tasks.register('japicmp', JapicmpTask) {
inputs.files { configurations.runtimeClasspath}
def ourUnpackTaskProvider =
project(":geode-old-versions:${newest}").tasks.named('downloadAndUnzipFile')
inputs.files { ourUnpackTaskProvider }
diff --git a/gradle/java.gradle
b/build-tools/scripts/src/main/groovy/geode-java.gradle
similarity index 93%
rename from gradle/java.gradle
rename to build-tools/scripts/src/main/groovy/geode-java.gradle
index 64e19de1ee..7379995c1d 100644
--- a/gradle/java.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-java.gradle
@@ -14,15 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-import org.apache.geode.gradle.plugins.DependencyConstraints
-if (project.name.endsWith("geode-all-bom")) {
- // This anti-pattern is a workaround -- java-platform must be applied before
java or java-library
- // to avoid conflicts over redefining certain configurations.
- // Evaluation as to whether java-platform should be applied at all is left
to GEODE-6611.
- apply plugin: 'java-platform'
+plugins {
+ id 'java-library'
+ id 'org.apache.geode.gradle.geode-dependency-constraints'
}
-apply plugin: 'java-library'
sourceCompatibility = 1.8
targetCompatibility = 1.8
@@ -174,7 +170,8 @@ tasks.all { task ->
}
}
-task jarTest(type: Jar, dependsOn: testClasses) {
+tasks.register('jarTest', Jar) {
+ dependsOn testClasses
description 'Assembles a jar archive of test classes.'
from sourceSets.test.output
classifier 'test'
diff --git a/gradle/pmd.gradle
b/build-tools/scripts/src/main/groovy/geode-pmd.gradle
similarity index 97%
rename from gradle/pmd.gradle
rename to build-tools/scripts/src/main/groovy/geode-pmd.gradle
index c37a5ffdef..dd55223a8d 100644
--- a/gradle/pmd.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-pmd.gradle
@@ -14,7 +14,11 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
-apply plugin: 'pmd'
+
+plugins {
+ id 'pmd'
+}
+
pmd {
sourceSets = []
ruleSetFiles =
files("${project.projectDir}/../static-analysis/pmd-rules/src/main/resources/geodepmd.xml")
diff --git a/gradle/publish-artifacts.gradle
b/build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle
similarity index 100%
rename from gradle/publish-artifacts.gradle
rename to build-tools/scripts/src/main/groovy/geode-publish-artifacts.gradle
diff --git a/gradle/publish-common.gradle
b/build-tools/scripts/src/main/groovy/geode-publish-common.gradle
similarity index 96%
rename from gradle/publish-common.gradle
rename to build-tools/scripts/src/main/groovy/geode-publish-common.gradle
index 26a169fa17..fc78d2acc7 100644
--- a/gradle/publish-common.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-publish-common.gradle
@@ -15,8 +15,10 @@
* limitations under the License.
*/
-apply plugin: 'maven-publish'
-apply plugin: 'signing'
+plugins {
+ id 'maven-publish'
+ id 'signing'
+}
// The published bom will constrain versions within geode of any subproject
with this property set.
project.ext.set('constrainVersionInBom', true)
@@ -102,9 +104,10 @@ signing {
sign publishing.publications.maven
}
-task install(dependsOn: publishToMavenLocal) {}
+tasks.register('install') {
+ dependsOn tasks.named('publishToMavenLocal')
+}
-apply from: "${rootDir}/${scriptDir}/check-pom.gradle"
tasks.withType(GenerateModuleMetadata) {
enabled = false
diff --git a/gradle/publish-java.gradle
b/build-tools/scripts/src/main/groovy/geode-publish-java.gradle
similarity index 90%
rename from gradle/publish-java.gradle
rename to build-tools/scripts/src/main/groovy/geode-publish-java.gradle
index 3a47b6a532..64f5442359 100644
--- a/gradle/publish-java.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-publish-java.gradle
@@ -15,8 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/gradle/publish-common.gradle"
-apply from: "${rootDir}/gradle/publish-artifacts.gradle"
+plugins {
+ id 'geode-publish-common'
+ id 'geode-publish-artifacts'
+ id 'check-pom'
+}
publishing {
publications {
diff --git a/gradle/publish-war.gradle
b/build-tools/scripts/src/main/groovy/geode-publish-war.gradle
similarity index 90%
rename from gradle/publish-war.gradle
rename to build-tools/scripts/src/main/groovy/geode-publish-war.gradle
index 4710062d70..e2331ac6b5 100644
--- a/gradle/publish-war.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-publish-war.gradle
@@ -15,8 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/gradle/publish-common.gradle"
-apply from: "${rootDir}/gradle/publish-artifacts.gradle"
+plugins {
+ id 'geode-publish-common'
+ id 'geode-publish-artifacts'
+}
publishing {
publications {
diff --git a/gradle/rat.gradle
b/build-tools/scripts/src/main/groovy/geode-rat.gradle
similarity index 99%
rename from gradle/rat.gradle
rename to build-tools/scripts/src/main/groovy/geode-rat.gradle
index b380bfcf1e..dca43213de 100644
--- a/gradle/rat.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-rat.gradle
@@ -15,7 +15,10 @@
* limitations under the License.
*/
-apply plugin: "org.nosphere.apache.rat"
+plugins {
+ id 'base'
+ id "org.nosphere.apache.rat"
+}
rat {
inputDir = rootDir
diff --git a/gradle/sonar.gradle
b/build-tools/scripts/src/main/groovy/geode-sonar.gradle
similarity index 97%
rename from gradle/sonar.gradle
rename to build-tools/scripts/src/main/groovy/geode-sonar.gradle
index 72625952b1..121b44fb34 100644
--- a/gradle/sonar.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-sonar.gradle
@@ -15,7 +15,9 @@
* limitations under the License.
*/
-apply plugin: 'org.sonarqube'
+plugins {
+ id 'org.sonarqube'
+}
sonarqube {
properties {
diff --git a/gradle/test.gradle
b/build-tools/scripts/src/main/groovy/geode-test.gradle
similarity index 96%
rename from gradle/test.gradle
rename to build-tools/scripts/src/main/groovy/geode-test.gradle
index 2f36ac19cc..93488986e5 100644
--- a/gradle/test.gradle
+++ b/build-tools/scripts/src/main/groovy/geode-test.gradle
@@ -1,7 +1,3 @@
-import org.apache.geode.gradle.TestPropertiesWriter
-import org.apache.geode.gradle.plugins.DependencyConstraints
-import org.apache.geode.gradle.testing.repeat.RepeatTest
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
@@ -19,6 +15,15 @@ import org.apache.geode.gradle.testing.repeat.RepeatTest
* limitations under the License.
*/
+
+plugins {
+ id 'nebula.facet'
+ id 'org.apache.geode.gradle.geode-build-tools'
+}
+
+import org.apache.geode.gradle.testing.repeat.RepeatTest
+import org.apache.geode.gradle.plugins.TestPropertiesWriter
+
// This configuration might be safely removed once the
CategoryWithParameterizedRunnerFactory
// and associated classes are themselves removed, per GEODE-5606
configurations {
@@ -41,7 +46,6 @@ test {
}
-apply plugin: 'nebula.facet'
facets {
integrationTest {
includeInCheckLifecycle = false
@@ -96,37 +100,38 @@ if (project.hasProperty("forceTest")) {
}
}
-task repeatDistributedTest(type: RepeatTest) {
+tasks.register('repeatDistributedTest', RepeatTest) {
dependsOn { distributedTest.taskDependencies }
classpath = project.sourceSets.distributedTest.runtimeClasspath
testClassesDirs = project.sourceSets.distributedTest.output.classesDirs
}
-task repeatIntegrationTest(type: RepeatTest) {
+tasks.register('repeatIntegrationTest', RepeatTest) {
dependsOn { integrationTest.taskDependencies }
classpath = project.sourceSets.integrationTest.runtimeClasspath
testClassesDirs = project.sourceSets.integrationTest.output.classesDirs
}
-task repeatAcceptanceTest(type: RepeatTest) {
+tasks.register('repeatAcceptanceTest', RepeatTest) {
dependsOn { acceptanceTest.taskDependencies }
classpath = project.sourceSets.acceptanceTest.runtimeClasspath
testClassesDirs = project.sourceSets.acceptanceTest.output.classesDirs
}
-task repeatUpgradeTest(type: RepeatTest) {
+tasks.register('repeatUpgradeTest', RepeatTest) {
dependsOn { upgradeTest.taskDependencies }
classpath = project.sourceSets.upgradeTest.runtimeClasspath
testClassesDirs = project.sourceSets.upgradeTest.output.classesDirs
}
-task repeatUnitTest(type: RepeatTest) {
+tasks.register('repeatUnitTest', RepeatTest) {
dependsOn { test.taskDependencies }
// default classpath works for this one.
}
configure([test, integrationTest, distributedTest, performanceTest,
acceptanceTest, uiTest, upgradeTest,
- repeatDistributedTest, repeatIntegrationTest, repeatUpgradeTest,
repeatUnitTest, repeatAcceptanceTest]) {
+ repeatDistributedTest, repeatIntegrationTest, repeatUpgradeTest,
repeatUnitTest, repeatAcceptanceTest
+]) {
useJUnitPlatform()
}
diff --git a/gradle/ide.gradle b/build-tools/scripts/src/main/groovy/ide.gradle
similarity index 98%
rename from gradle/ide.gradle
rename to build-tools/scripts/src/main/groovy/ide.gradle
index 5ee5ccf0f3..f5229e4aa0 100644
--- a/gradle/ide.gradle
+++ b/build-tools/scripts/src/main/groovy/ide.gradle
@@ -16,8 +16,10 @@
*/
import org.gradle.plugins.ide.eclipse.model.Container
-apply plugin: 'idea'
-apply plugin: 'eclipse'
+plugins {
+ id 'idea'
+ id 'eclipse'
+}
eclipse {
classpath {
diff --git a/gradle/javaVersions.gradle
b/build-tools/scripts/src/main/groovy/javaVersions.gradle
similarity index 98%
rename from gradle/javaVersions.gradle
rename to build-tools/scripts/src/main/groovy/javaVersions.gradle
index 9129dbd37b..06f59ed2c2 100644
--- a/gradle/javaVersions.gradle
+++ b/build-tools/scripts/src/main/groovy/javaVersions.gradle
@@ -15,9 +15,11 @@
* limitations under the License.
*/
-import org.apache.tools.ant.taskdefs.condition.Os
+plugins {
+ id 'de.undercouch.download'
+}
-apply plugin: 'de.undercouch.download'
+import org.apache.tools.ant.taskdefs.condition.Os
static def getPlatformInfo() {
if (Os.isFamily(Os.FAMILY_MAC)) {
diff --git a/gradle/jmh.gradle b/build-tools/scripts/src/main/groovy/jmh.gradle
similarity index 97%
rename from gradle/jmh.gradle
rename to build-tools/scripts/src/main/groovy/jmh.gradle
index 682705aa39..c470e08bef 100644
--- a/gradle/jmh.gradle
+++ b/build-tools/scripts/src/main/groovy/jmh.gradle
@@ -15,7 +15,10 @@
* limitations under the License.
*/
-apply plugin: 'me.champeau.gradle.jmh'
+plugins {
+ id 'me.champeau.gradle.jmh'
+ id 'nebula.facet'
+}
configurations {
javaagent {
@@ -51,7 +54,6 @@ jmhJar {
exclude('*.jar')
}
-apply plugin: 'nebula.facet'
facets {
jmhTest {
parentSourceSet = 'jmh'
diff --git a/gradle/lint.gradle
b/build-tools/scripts/src/main/groovy/lint.gradle
similarity index 96%
rename from gradle/lint.gradle
rename to build-tools/scripts/src/main/groovy/lint.gradle
index 9d91f5ad2c..38ca5b957d 100644
--- a/gradle/lint.gradle
+++ b/build-tools/scripts/src/main/groovy/lint.gradle
@@ -16,7 +16,9 @@
*/
allprojects {
- apply plugin: 'nebula.lint'
+ plugins {
+ id 'nebula.lint'
+ }
gradleLint.rules = []
gradleLint.rules += 'overridden-dependency-version'
gradleLint.rules += 'unused-dependency'
diff --git a/gradle/multi-process-test.gradle
b/build-tools/scripts/src/main/groovy/multi-process-test.gradle
similarity index 97%
rename from gradle/multi-process-test.gradle
rename to build-tools/scripts/src/main/groovy/multi-process-test.gradle
index ee61a28fad..3c606b23ed 100644
--- a/gradle/multi-process-test.gradle
+++ b/build-tools/scripts/src/main/groovy/multi-process-test.gradle
@@ -33,6 +33,9 @@
* also applies this property to unit test tasks, with
different defaults.)
*/
+plugins {
+ id 'org.apache.geode.gradle.geode-testing-isolation'
+}
import org.apache.geode.gradle.testing.Executers
import org.apache.geode.gradle.testing.isolation.WorkingDirectoryIsolator
@@ -58,7 +61,6 @@ if (project.hasProperty('parallelDunit')) {
isolatedTest = true
}
}
- apply plugin: 'geode-isolated-test'
} else {
for (task in multiProcessTestTasks) {
if (project.hasProperty('testMaxParallelForks')) {
diff --git a/gradle/warnings.gradle
b/build-tools/scripts/src/main/groovy/platform-subproject-configuration.gradle
similarity index 87%
copy from gradle/warnings.gradle
copy to
build-tools/scripts/src/main/groovy/platform-subproject-configuration.gradle
index 72a25f97bc..c7cb20e886 100644
--- a/gradle/warnings.gradle
+++
b/build-tools/scripts/src/main/groovy/platform-subproject-configuration.gradle
@@ -15,7 +15,7 @@
* limitations under the License.
*/
-tasks.withType(JavaCompile) {
- options.compilerArgs << '-Xlint:unchecked' << "-Werror"
- options.deprecation = true
+plugins {
+ id 'java-platform'
+ id 'standard-subproject-configuration'
}
diff --git a/gradle/resolve-dependencies.gradle
b/build-tools/scripts/src/main/groovy/resolve-dependencies.gradle
similarity index 100%
rename from gradle/resolve-dependencies.gradle
rename to build-tools/scripts/src/main/groovy/resolve-dependencies.gradle
diff --git a/gradle/spotless.gradle
b/build-tools/scripts/src/main/groovy/spotless.gradle
similarity index 98%
rename from gradle/spotless.gradle
rename to build-tools/scripts/src/main/groovy/spotless.gradle
index c3fbb65ff4..eaa527899d 100644
--- a/gradle/spotless.gradle
+++ b/build-tools/scripts/src/main/groovy/spotless.gradle
@@ -15,12 +15,15 @@
* limitations under the License.
*/
+plugins {
+ id 'com.diffplug.spotless'
+}
// When a custom step changes, we need to bump the value passed to the method
// bumpThisNumberIfACustomStepChanges
// This has been historically easy to forget, however, and can cause failures
in some rare cases.
// To safeguard against this, we instead use the (partial) md5 of this file as
that method input.
-def thisFile = file("${rootDir}/${scriptDir}/spotless.gradle")
+def thisFile =
file("${rootDir}/build-tools/scripts/src/main/groovy/spotless.gradle")
def thisFileMd5 = thisFile.text.md5() as String
def thisFileMd5Piece = thisFileMd5.substring(0, 8)
def thisFileIntegerHash = Integer.parseUnsignedInt(thisFileMd5Piece, 16)
@@ -29,7 +32,6 @@ logger.debug("Using partial md5 (${thisFileIntegerHash}) of
file ${thisFile} as
project.ext.set("spotless-file-hash", thisFileIntegerHash)
-apply plugin: "com.diffplug.spotless"
spotless {
lineEndings = 'unix'
java {
diff --git a/gradle/standard-subproject-configuration.gradle
b/build-tools/scripts/src/main/groovy/standard-subproject-configuration.gradle
similarity index 71%
rename from gradle/standard-subproject-configuration.gradle
rename to
build-tools/scripts/src/main/groovy/standard-subproject-configuration.gradle
index e3e944a87c..ef1e975666 100644
--- a/gradle/standard-subproject-configuration.gradle
+++
b/build-tools/scripts/src/main/groovy/standard-subproject-configuration.gradle
@@ -15,14 +15,16 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/java.gradle"
-apply from: "${rootDir}/${scriptDir}/dependency-resolution.gradle"
-apply from: "${rootDir}/${scriptDir}/test.gradle"
-apply from: "${rootDir}/${scriptDir}/code-analysis.gradle"
-apply from: "${rootDir}/${scriptDir}/multi-process-test.gradle"
-apply from: "${rootDir}/${scriptDir}/spotless.gradle"
-apply from: "${rootDir}/${scriptDir}/ide.gradle"
-apply plugin: 'com.github.ben-manes.versions'
+plugins {
+ id 'geode-java'
+ id 'dependency-resolution'
+ id 'geode-test'
+ id 'code-analysis'
+ id 'multi-process-test'
+ id 'spotless'
+ id 'ide'
+ id "com.github.ben-manes.versions"
+}
// Within the configure block, 'project' refers to the task-owning project, in
this case rootProject
def thisProjectScoped = project
diff --git a/gradle/warnings.gradle
b/build-tools/scripts/src/main/groovy/warnings.gradle
similarity index 100%
rename from gradle/warnings.gradle
rename to build-tools/scripts/src/main/groovy/warnings.gradle
diff --git a/build.gradle b/build.gradle
index ccf150ca34..41fe9616b9 100755
--- a/build.gradle
+++ b/build.gradle
@@ -29,16 +29,21 @@ plugins {
id "org.ajoberstar.grgit" version "4.1.1" apply false
id "org.nosphere.apache.rat" version "0.7.1" apply false
id "org.sonarqube" version "3.3" apply false
- id "me.champeau.gradle.japicmp" apply false // Version defined in
buildSrc/build.gradle
id 'me.champeau.gradle.jmh' version '0.5.3' apply false
id "de.undercouch.download" version "5.0.1" apply false
+ id 'org.apache.geode.gradle.geode-dependency-constraints' apply false
+ id 'geode-publish-artifacts' apply false
+ id 'geode-publish-common' apply false
+ id 'geode-publish-java' apply false
+ id 'geode-publish-war' apply false
+// id 'lint'
+ id 'resolve-dependencies'
+ id 'geode-sonar'
+ id 'geode-rat'
}
+import org.apache.geode.gradle.plugins.PasswordDialog
-apply from: "${scriptDir}/lint.gradle"
-apply from: "${scriptDir}/resolve-dependencies.gradle"
-apply from: "${scriptDir}/sonar.gradle"
-apply from: "${scriptDir}/rat.gradle"
wrapper {
gradleVersion = minimumGradleVersion
diff --git
a/buildSrc/src/main/resources/META-INF/gradle-plugins/geode-dependency-constraints.properties
b/buildSrc/src/main/resources/META-INF/gradle-plugins/geode-dependency-constraints.properties
deleted file mode 100644
index d5cefb65a2..0000000000
---
a/buildSrc/src/main/resources/META-INF/gradle-plugins/geode-dependency-constraints.properties
+++ /dev/null
@@ -1 +0,0 @@
-implementation-class = org.apache.geode.gradle.plugins.DependencyConstraints
\ No newline at end of file
diff --git
a/buildSrc/src/main/resources/META-INF/gradle-plugins/geode-isolated-test.properties
b/buildSrc/src/main/resources/META-INF/gradle-plugins/geode-isolated-test.properties
deleted file mode 100644
index b5c844ccb7..0000000000
---
a/buildSrc/src/main/resources/META-INF/gradle-plugins/geode-isolated-test.properties
+++ /dev/null
@@ -1 +0,0 @@
-implementation-class =
org.apache.geode.gradle.testing.isolation.IsolatedTestPlugin
diff --git a/ci/pipelines/shared/utilities.sh b/ci/pipelines/shared/utilities.sh
index 56a3261ca0..8bae9ee1f1 100644
--- a/ci/pipelines/shared/utilities.sh
+++ b/ci/pipelines/shared/utilities.sh
@@ -31,4 +31,4 @@ getSanitizedFork () {
shortenJobName () {
echo $(sanitizeName ${1}) | sed -e 's/windows/win/' -e 's/distributed/dst/'
-e 's/acceptance/acc/' -e 's/openjdk/oj/' | cut -c 1-18
-}
\ No newline at end of file
+}
diff --git a/extensions/geode-modules-assembly/build.gradle
b/extensions/geode-modules-assembly/build.gradle
index 53532d9643..9a21957aa8 100644
--- a/extensions/geode-modules-assembly/build.gradle
+++ b/extensions/geode-modules-assembly/build.gradle
@@ -15,6 +15,10 @@
* limitations under the License.
*/
+plugins {
+ id 'standard-subproject-configuration'
+ id 'maven-publish'
+}
evaluationDependsOn(':extensions:geode-modules')
evaluationDependsOn(':extensions:geode-modules-tomcat7')
evaluationDependsOn(':extensions:geode-modules-tomcat8')
@@ -22,11 +26,9 @@ evaluationDependsOn(':extensions:geode-modules-tomcat9')
evaluationDependsOn(':extensions:geode-modules-session')
evaluationDependsOn(':extensions:geode-modules-session-internal')
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
import org.apache.geode.gradle.plugins.DependencyConstraints
import org.apache.tools.ant.filters.ReplaceTokens
-apply plugin: 'maven-publish'
configurations {
slf4jDeps
diff --git a/extensions/geode-modules-session-internal/build.gradle
b/extensions/geode-modules-session-internal/build.gradle
index f34e326392..b60562a6e7 100644
--- a/extensions/geode-modules-session-internal/build.gradle
+++ b/extensions/geode-modules-session-internal/build.gradle
@@ -15,7 +15,9 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+}
dependencies {
// main
diff --git a/extensions/geode-modules-session/build.gradle
b/extensions/geode-modules-session/build.gradle
index 830a8fdec7..36ec77f3ec 100644
--- a/extensions/geode-modules-session/build.gradle
+++ b/extensions/geode-modules-session/build.gradle
@@ -17,7 +17,9 @@ import org.apache.geode.gradle.plugins.DependencyConstraints
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+}
evaluationDependsOn(":geode-core")
diff --git a/extensions/geode-modules-test/build.gradle
b/extensions/geode-modules-test/build.gradle
index c7b40e079c..58154fc304 100644
--- a/extensions/geode-modules-test/build.gradle
+++ b/extensions/geode-modules-test/build.gradle
@@ -17,7 +17,9 @@
import org.apache.geode.gradle.plugins.DependencyConstraints
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+}
dependencies {
// main
diff --git a/extensions/geode-modules-tomcat7/build.gradle
b/extensions/geode-modules-tomcat7/build.gradle
index 31a841c71a..e1e75b52a1 100644
--- a/extensions/geode-modules-tomcat7/build.gradle
+++ b/extensions/geode-modules-tomcat7/build.gradle
@@ -17,8 +17,10 @@
import org.apache.geode.gradle.plugins.DependencyConstraints
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+}
evaluationDependsOn(":geode-core")
diff --git a/extensions/geode-modules-tomcat8/build.gradle
b/extensions/geode-modules-tomcat8/build.gradle
index 70788ed595..a24651dd44 100644
--- a/extensions/geode-modules-tomcat8/build.gradle
+++ b/extensions/geode-modules-tomcat8/build.gradle
@@ -17,9 +17,11 @@
import org.apache.geode.gradle.plugins.DependencyConstraints
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
-apply from: "${rootDir}/${scriptDir}/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+ id 'geode-publish-java'
+}
evaluationDependsOn(":geode-core")
diff --git a/extensions/geode-modules-tomcat9/build.gradle
b/extensions/geode-modules-tomcat9/build.gradle
index 54fda60a24..542ba93137 100644
--- a/extensions/geode-modules-tomcat9/build.gradle
+++ b/extensions/geode-modules-tomcat9/build.gradle
@@ -17,9 +17,11 @@
import org.apache.geode.gradle.plugins.DependencyConstraints
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
-apply from: "${rootDir}/${scriptDir}/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+ id 'geode-publish-java'
+}
evaluationDependsOn(":geode-core")
diff --git a/extensions/geode-modules/build.gradle
b/extensions/geode-modules/build.gradle
index d35dd544d4..d32ad33153 100644
--- a/extensions/geode-modules/build.gradle
+++ b/extensions/geode-modules/build.gradle
@@ -17,8 +17,10 @@
import org.apache.geode.gradle.plugins.DependencyConstraints
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
evaluationDependsOn(":geode-core")
diff --git a/extensions/session-testing-war/build.gradle
b/extensions/session-testing-war/build.gradle
index e8e2d91ded..fddf0a5e77 100644
--- a/extensions/session-testing-war/build.gradle
+++ b/extensions/session-testing-war/build.gradle
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply plugin: 'war'
+plugins {
+ id 'standard-subproject-configuration'
+ id 'war'
+}
diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle
index b71f891abe..0740174703 100755
--- a/geode-assembly/build.gradle
+++ b/geode-assembly/build.gradle
@@ -15,12 +15,15 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+ id 'distribution'
+ id 'com.palantir.docker'
+ id 'geode-publish-common'
+}
-import org.apache.geode.gradle.plugins.DependencyConstraints
import org.apache.tools.ant.taskdefs.condition.Os
-
import java.nio.file.Paths
// This project aggressively reaches into many other projects and must wait
for those configurations
@@ -32,10 +35,6 @@ rootProject.subprojects.each {neighborProject ->
}
}
-apply plugin: 'distribution'
-apply plugin: 'com.palantir.docker'
-apply from: "${rootDir}/${scriptDir}/publish-common.gradle"
-
// This subproject's 'publication' is not a jar and should not be constrained
to match versions
// in the geode-all-bom.
diff --git a/geode-assembly/geode-assembly-test/build.gradle
b/geode-assembly/geode-assembly-test/build.gradle
index bd6559bf14..02e4138ed5 100755
--- a/geode-assembly/geode-assembly-test/build.gradle
+++ b/geode-assembly/geode-assembly-test/build.gradle
@@ -15,7 +15,9 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+}
diff --git a/geode-common/build.gradle b/geode-common/build.gradle
index b6fedec29a..1ec66dbcd7 100755
--- a/geode-common/build.gradle
+++ b/geode-common/build.gradle
@@ -15,11 +15,12 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
-apply from: "${project.projectDir}/../gradle/jmh.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+ id 'jmh'
+}
dependencies {
// main
diff --git a/geode-concurrency-test/build.gradle
b/geode-concurrency-test/build.gradle
index f257baeed4..daaba942e7 100644
--- a/geode-concurrency-test/build.gradle
+++ b/geode-concurrency-test/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-connectors/build.gradle b/geode-connectors/build.gradle
index 2cb354d27d..b1cb44fa8e 100644
--- a/geode-connectors/build.gradle
+++ b/geode-connectors/build.gradle
@@ -15,12 +15,14 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
evaluationDependsOn(":geode-core")
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
configurations {
//Configuration used to download mysql jar
diff --git a/geode-core/build.gradle b/geode-core/build.gradle
index 5aec0e1244..1126b66892 100755
--- a/geode-core/build.gradle
+++ b/geode-core/build.gradle
@@ -15,14 +15,14 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply plugin: 'antlr'
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/pmd.gradle"
-apply from: "${project.projectDir}/../gradle/jmh.gradle"
-apply from: "${project.projectDir}/../gradle/javaVersions.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'antlr'
+ id 'geode-publish-java'
+ id 'geode-pmd'
+ id 'jmh'
+ id 'javaVersions'
+}
sourceSets {
jca {
@@ -63,7 +63,8 @@ sourceSets {
// Creates the version properties file and writes it to the classes dir
-task createVersionPropertiesFile(dependsOn: ':writeBuildInfo') {
+tasks.register('createVersionPropertiesFile') {
+ dependsOn rootProject.tasks.named('writeBuildInfo')
def propertiesFile = file(generatedResources +
"/org/apache/geode/internal/GemFireVersion.properties")
def scmInfoFile = rootProject.tasks.writeBuildInfo.outputs.files
@@ -119,14 +120,16 @@ jar {
jar.dependsOn(createVersionPropertiesFile)
-task raJar(type: Jar, dependsOn: classes) {
+tasks.register('raJar', Jar) {
+ dependsOn tasks.named('classes')
description 'Assembles the jar archive that contains the JCA classes'
from sourceSets.jca.output
exclude 'org/apache/geode/ra/**'
archiveFileName='ra.jar'
}
-task jcaJar(type: Jar, dependsOn: raJar) {
+tasks.register('jcaJar', Jar) {
+ dependsOn tasks.named('raJar')
description 'Assembles the jar archive that contains the JCA bundle'
archiveBaseName='geode-jca'
archiveExtension='rar'
diff --git a/geode-cq/build.gradle b/geode-cq/build.gradle
index 0096ee98af..68b4493f4c 100644
--- a/geode-cq/build.gradle
+++ b/geode-cq/build.gradle
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
diff --git a/geode-deployment/geode-deployment-legacy/build.gradle
b/geode-deployment/geode-deployment-legacy/build.gradle
index 339bcb43d7..b482154ed8 100644
--- a/geode-deployment/geode-deployment-legacy/build.gradle
+++ b/geode-deployment/geode-deployment-legacy/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from:
"${project.projectDir}/../../gradle/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
implementation(platform(project(':boms:geode-all-bom')))
diff --git a/geode-dunit/build.gradle b/geode-dunit/build.gradle
index 23a543bf1f..50ddbfc59d 100755
--- a/geode-dunit/build.gradle
+++ b/geode-dunit/build.gradle
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-gfsh/build.gradle b/geode-gfsh/build.gradle
index 859b05fd88..fd573fd35b 100644
--- a/geode-gfsh/build.gradle
+++ b/geode-gfsh/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-http-service/build.gradle b/geode-http-service/build.gradle
index 556df12ea1..7d06518c25 100755
--- a/geode-http-service/build.gradle
+++ b/geode-http-service/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-jmh/build.gradle b/geode-jmh/build.gradle
index 9715792ff3..b760b1ea41 100644
--- a/geode-jmh/build.gradle
+++ b/geode-jmh/build.gradle
@@ -15,12 +15,13 @@
* limitations under the License.
*/
-apply plugin: 'java-library'
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'java-library' ; //TODO
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-junit/build.gradle b/geode-junit/build.gradle
index 13836e45de..010e30a4f8 100755
--- a/geode-junit/build.gradle
+++ b/geode-junit/build.gradle
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
compileJava {
options.compilerArgs << '-Xlint:-sunapi'
diff --git
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
b/geode-junit/src/main/java/org/apache/geode/util/FilterSerializables.java
similarity index 59%
rename from
buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
rename to
geode-junit/src/main/java/org/apache/geode/util/FilterSerializables.java
index eb039296d6..031cea7075 100644
---
a/buildSrc/src/main/groovy/org/apache/geode/gradle/plugins/DependencySetHandler.groovy
+++ b/geode-junit/src/main/java/org/apache/geode/util/FilterSerializables.java
@@ -1,7 +1,3 @@
-package org.apache.geode.gradle.plugins
-
-import org.gradle.api.Project
-
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
contributor license
* agreements. See the NOTICE file distributed with this work for additional
information regarding
@@ -16,24 +12,24 @@ import org.gradle.api.Project
* or implied. See the License for the specific language governing permissions
and limitations under
* the License.
*/
+package org.apache.geode.util;
-class DependencySetHandler {
- String group
- String version
- Project project
+import java.lang.reflect.Field;
+import java.util.ArrayList;
+import java.util.Collection;
- DependencySetHandler(String group, String version, Project project) {
- this.group = group
- this.version = version
- this.project = project
- }
- void entry(String name) {
- this.project.dependencies.constraints {
- api(group: group, name: name, version: version)
+public class FilterSerializables {
+
+ // Filter on class fields. This was added to support the jacoco plugin
+ // and its addition of synthetic fields to Java classes
+ public static Collection<Field> getNonSyntheticFields(Field[] inputFields) {
+ ArrayList<Field> genuineFields = new ArrayList<Field>();
+ for (Field f : inputFields) {
+ if (!f.isSynthetic()) {
+ genuineFields.add(f);
+ }
}
+ return genuineFields;
}
-
-
}
-
diff --git
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableExternalResourceTest.java
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableExternalResourceTest.java
index fb722faa81..991c2f4b1e 100755
---
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableExternalResourceTest.java
+++
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableExternalResourceTest.java
@@ -18,12 +18,14 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
import java.lang.reflect.Field;
-import java.util.Arrays;
+import java.util.Collection;
import org.apache.commons.lang3.SerializationUtils;
import org.junit.Test;
import org.junit.rules.ExternalResource;
+import org.apache.geode.util.FilterSerializables;
+
/**
* Unit tests for {@link SerializableExternalResource}.
@@ -33,7 +35,9 @@ public class SerializableExternalResourceTest {
@Test
public void hasZeroFields() throws Exception {
Field[] fields = ExternalResource.class.getDeclaredFields();
- assertThat(fields.length).as("Fields: " +
Arrays.asList(fields)).isEqualTo(0);
+ Collection<Field> genuineFields =
FilterSerializables.getNonSyntheticFields(fields);
+ assertThat(genuineFields.size()).as("Fields: " +
genuineFields).isEqualTo(0);
+ assertThat(genuineFields).hasSize(0);
}
@Test
diff --git
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestNameTest.java
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestNameTest.java
index a134177668..de49bc6773 100755
---
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestNameTest.java
+++
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestNameTest.java
@@ -21,13 +21,15 @@ import static org.mockito.Mockito.when;
import java.io.Serializable;
import java.lang.reflect.Field;
-import java.util.Arrays;
+import java.util.Collection;
import org.apache.commons.lang3.SerializationUtils;
import org.junit.Test;
import org.junit.rules.TestName;
import org.junit.runner.Description;
+import org.apache.geode.util.FilterSerializables;
+
/**
* Unit tests for {@link SerializableTestName}.
@@ -37,7 +39,9 @@ public class SerializableTestNameTest {
@Test
public void hasOneFields() throws Exception {
Field[] fields = TestName.class.getDeclaredFields();
- assertThat(fields.length).as("Fields: " +
Arrays.asList(fields)).isEqualTo(1);
+ Collection genuineFields =
FilterSerializables.getNonSyntheticFields(fields);
+ assertThat(genuineFields.size()).as("Fields: " +
genuineFields).isEqualTo(1);
+ assertThat(genuineFields).hasSize(1);
}
@Test
diff --git
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestWatcherTest.java
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestWatcherTest.java
index 85d4f0d823..478d71322a 100755
---
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestWatcherTest.java
+++
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTestWatcherTest.java
@@ -18,12 +18,14 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
import java.lang.reflect.Field;
-import java.util.Arrays;
+import java.util.Collection;
import org.apache.commons.lang3.SerializationUtils;
import org.junit.Test;
import org.junit.rules.TestWatcher;
+import org.apache.geode.util.FilterSerializables;
+
/**
* Unit tests for {@link SerializableTestWatcher}.
@@ -33,7 +35,9 @@ public class SerializableTestWatcherTest {
@Test
public void hasZeroFields() throws Exception {
Field[] fields = TestWatcher.class.getDeclaredFields();
- assertThat(fields.length).as("Fields: " +
Arrays.asList(fields)).isEqualTo(0);
+ Collection<Field> genuineFields =
FilterSerializables.getNonSyntheticFields(fields);
+ assertThat(genuineFields.size()).as("Fields: " +
genuineFields).isEqualTo(0);
+ assertThat(genuineFields).hasSize(0);
}
@Test
diff --git
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTimeoutTest.java
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTimeoutTest.java
index 9933c0fe61..180c37e5f4 100755
---
a/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTimeoutTest.java
+++
b/geode-junit/src/test/java/org/apache/geode/test/junit/rules/serializable/SerializableTimeoutTest.java
@@ -23,13 +23,15 @@ import static org.assertj.core.api.Assertions.assertThat;
import java.io.Serializable;
import java.lang.reflect.Field;
-import java.util.Arrays;
+import java.util.Collection;
import java.util.concurrent.TimeUnit;
import org.apache.commons.lang3.SerializationUtils;
import org.junit.Test;
import org.junit.rules.Timeout;
+import org.apache.geode.util.FilterSerializables;
+
/**
* Unit tests for {@link SerializableTimeout}.
@@ -39,7 +41,9 @@ public class SerializableTimeoutTest {
@Test
public void hasThreeFields() {
Field[] fields = Timeout.class.getDeclaredFields();
- assertThat(fields.length).as("Fields: " +
Arrays.asList(fields)).isEqualTo(3);
+ Collection<Field> genuineFields =
FilterSerializables.getNonSyntheticFields(fields);
+ assertThat(genuineFields.size()).as("Fields: " +
genuineFields).isEqualTo(3);
+ assertThat(genuineFields).hasSize(3);
}
@Test
diff --git a/geode-log4j/build.gradle b/geode-log4j/build.gradle
index 9eedad02ce..d2501c2a7a 100644
--- a/geode-log4j/build.gradle
+++ b/geode-log4j/build.gradle
@@ -14,12 +14,12 @@
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
-apply from: "${project.projectDir}/../gradle/jmh.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+ id 'jmh'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-logging/build.gradle b/geode-logging/build.gradle
index 6a321779cd..0a450578bc 100644
--- a/geode-logging/build.gradle
+++ b/geode-logging/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-lucene/build.gradle b/geode-lucene/build.gradle
index d256d12d0f..bf55a9dd56 100644
--- a/geode-lucene/build.gradle
+++ b/geode-lucene/build.gradle
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-lucene/geode-lucene-test/build.gradle
b/geode-lucene/geode-lucene-test/build.gradle
index 4282886a2d..feade4a051 100644
--- a/geode-lucene/geode-lucene-test/build.gradle
+++ b/geode-lucene/geode-lucene-test/build.gradle
@@ -15,7 +15,9 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+}
diff --git a/geode-management/build.gradle b/geode-management/build.gradle
index 9c9b90195d..8f263ba6c9 100755
--- a/geode-management/build.gradle
+++ b/geode-management/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-membership/build.gradle b/geode-membership/build.gradle
index 67a8f5e74c..46506c0d80 100644
--- a/geode-membership/build.gradle
+++ b/geode-membership/build.gradle
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-memcached/build.gradle b/geode-memcached/build.gradle
index cc1a11cb52..def2c9dea4 100644
--- a/geode-memcached/build.gradle
+++ b/geode-memcached/build.gradle
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
compileOnly(platform(project(':boms:geode-all-bom')))
diff --git a/geode-old-client-support/build.gradle
b/geode-old-client-support/build.gradle
index ee47e2a14e..c55f853a4d 100644
--- a/geode-old-client-support/build.gradle
+++ b/geode-old-client-support/build.gradle
@@ -15,10 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
implementation(platform(project(':boms:geode-all-bom')))
diff --git a/geode-old-versions/build.gradle b/geode-old-versions/build.gradle
index d112b7916a..71309b66d7 100644
--- a/geode-old-versions/build.gradle
+++ b/geode-old-versions/build.gradle
@@ -17,12 +17,14 @@ import java.nio.file.Paths
* limitations under the License.
*/
-apply from: "${rootProject.rootDir}/gradle/java.gradle"
+plugins {
+ id 'geode-java'
+}
project.ext.installs = new Properties()
subprojects {
- apply plugin: 'base'
+ it.apply plugin: 'base'
def oldGeodeVersion = project.name
diff --git a/geode-pulse/build.gradle b/geode-pulse/build.gradle
index 2ae1a57124..33d679b922 100644
--- a/geode-pulse/build.gradle
+++ b/geode-pulse/build.gradle
@@ -15,13 +15,15 @@
* limitations under the License.
*/
-evaluationDependsOn(':geode-core')
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply plugin: 'war'
+plugins {
+ id 'standard-subproject-configuration'
+ id 'war'
+ id 'geode-publish-war'
+ id 'warnings'
+}
-apply from: "${project.projectDir}/../gradle/publish-war.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+evaluationDependsOn(':geode-core')
jar.enabled = true
diff --git a/geode-pulse/geode-pulse-test/build.gradle
b/geode-pulse/geode-pulse-test/build.gradle
index 21b38db82e..f4993bffc0 100644
--- a/geode-pulse/geode-pulse-test/build.gradle
+++ b/geode-pulse/geode-pulse-test/build.gradle
@@ -15,8 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-rebalancer/build.gradle b/geode-rebalancer/build.gradle
index 96911f1b0c..59d66636a3 100644
--- a/geode-rebalancer/build.gradle
+++ b/geode-rebalancer/build.gradle
@@ -15,11 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
-
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-serialization/build.gradle b/geode-serialization/build.gradle
index e3e1f81a9b..9aa3866e46 100755
--- a/geode-serialization/build.gradle
+++ b/geode-serialization/build.gradle
@@ -15,10 +15,11 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
implementation(platform(project(':boms:geode-all-bom')))
diff --git a/geode-server-all/build.gradle b/geode-server-all/build.gradle
index 9cc66148d8..cbe9264cd1 100644
--- a/geode-server-all/build.gradle
+++ b/geode-server-all/build.gradle
@@ -17,12 +17,11 @@
plugins {
id 'java-library'
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'geode-japicmp-task'
}
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/publish-java.gradle"
-apply from: "${rootDir}/${scriptDir}/japicmp.gradle"
-
configurations {
constrainedByBom
api.extendsFrom(constrainedByBom)
@@ -63,8 +62,10 @@ dependencies {
// Override some things from java.gradle
jar {
- manifest {
- attributes.put("Class-Path", configurations.runtimeClasspath.files.collect
{it.name}.join(' '))
+ doFirst {
+ manifest {
+ attributes.put("Class-Path",
configurations.runtimeClasspath.files.collect { it.name }.join(' '))
+ }
}
}
diff --git a/geode-tcp-server/build.gradle b/geode-tcp-server/build.gradle
index 6c1d03c8fa..ce13b47306 100644
--- a/geode-tcp-server/build.gradle
+++ b/geode-tcp-server/build.gradle
@@ -13,10 +13,11 @@
* the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
+}
dependencies {
api(platform(project(':boms:geode-all-bom')))
diff --git a/geode-unsafe/build.gradle b/geode-unsafe/build.gradle
index 9737604a32..1452cc1894 100755
--- a/geode-unsafe/build.gradle
+++ b/geode-unsafe/build.gradle
@@ -17,12 +17,11 @@
plugins {
id 'java-library'
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+ id 'warnings'
}
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
-
dependencies {
implementation(platform(project(':boms:geode-all-bom')))
diff --git a/geode-wan/build.gradle b/geode-wan/build.gradle
index a776629dd7..4e500ddcac 100644
--- a/geode-wan/build.gradle
+++ b/geode-wan/build.gradle
@@ -15,9 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply from: "${project.projectDir}/../gradle/publish-java.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'geode-publish-java'
+}
dependencies {
diff --git a/geode-web-api/build.gradle b/geode-web-api/build.gradle
index bb614d2cbc..58e156a4d9 100644
--- a/geode-web-api/build.gradle
+++ b/geode-web-api/build.gradle
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply plugin: 'war'
-
-apply from: "${project.projectDir}/../gradle/publish-war.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'war'
+ id 'geode-publish-war'
+ id 'warnings'
+}
jar.enabled = false
diff --git a/geode-web-management/build.gradle
b/geode-web-management/build.gradle
index 2cb9649f24..1c89f4913b 100644
--- a/geode-web-management/build.gradle
+++ b/geode-web-management/build.gradle
@@ -13,16 +13,16 @@
* the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply plugin: 'war'
-
-apply from: "${project.projectDir}/../gradle/publish-war.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'war'
+ id 'geode-publish-war'
+ id 'warnings'
+ id 'nebula.facet'
+}
jar.enabled = false
-apply plugin: 'nebula.facet'
facets {
commonTest {
testTaskName = 'commonTest'
diff --git a/geode-web/build.gradle b/geode-web/build.gradle
index 5302b6ecd7..3ba81e4b84 100644
--- a/geode-web/build.gradle
+++ b/geode-web/build.gradle
@@ -15,12 +15,12 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-
-apply plugin: 'war'
-
-apply from: "${project.projectDir}/../gradle/publish-war.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'war'
+ id 'geode-publish-war'
+ id 'warnings'
+}
jar.enabled = false
diff --git a/settings.gradle b/settings.gradle
index 5c2ac26e8f..74b2578816 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -17,6 +17,27 @@
import org.gradle.util.GradleVersion
+pluginManagement {
+ includeBuild('build-tools/geode-dependency-management')
+ includeBuild('build-tools/geode-repeat-test') {
+ dependencySubstitution {
+ substitute
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-repeat-test')
using project(':')
+ }
+ }
+ includeBuild('build-tools/geode-build-tools') {
+ dependencySubstitution {
+ substitute
module('org.apache.geode.gradle:org.apache.geode.gradle.geode-build-tools')
using project(':')
+ }
+ }
+ includeBuild('build-tools/geode-testing-isolation') {
+ 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')
+}
+
rootProject.name = 'geode'
// We want to see all test results. This is equivalent to setting --continue
on the command line.
diff --git a/static-analysis/build.gradle b/static-analysis/build.gradle
index 951c8cfe2a..9a3eb4d152 100644
--- a/static-analysis/build.gradle
+++ b/static-analysis/build.gradle
@@ -15,5 +15,7 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${project.projectDir}/../gradle/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+}
diff --git a/static-analysis/pmd-rules/build.gradle
b/static-analysis/pmd-rules/build.gradle
index 60f24fcb2e..69ee57edd1 100644
--- a/static-analysis/pmd-rules/build.gradle
+++ b/static-analysis/pmd-rules/build.gradle
@@ -15,8 +15,10 @@
* limitations under the License.
*/
-apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle"
-apply from: "${rootDir}/${scriptDir}/warnings.gradle"
+plugins {
+ id 'standard-subproject-configuration'
+ id 'warnings'
+}
dependencies {
implementation(platform(project(':boms:geode-all-bom')))