This is an automated email from the ASF dual-hosted git repository. rhoughton pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/geode.git
The following commit(s) were added to refs/heads/develop by this push: new bfaaa4f GEODE-9621: Add spotless rule for build.gradle files (#6889) bfaaa4f is described below commit bfaaa4f6e12567bc3ef61d22682fc47e2d74f71c Author: Robert Houghton <rhough...@pivotal.io> AuthorDate: Tue Sep 21 15:52:33 2021 -0700 GEODE-9621: Add spotless rule for build.gradle files (#6889) Enforces indentation and line-wrap rules for gradle groovy syntax. Authored-by: Robert Houghton <rhough...@pivotal.io> --- boms/geode-client-bom/build.gradle | 1 - extensions/geode-modules-assembly/build.gradle | 9 +- extensions/session-testing-war/build.gradle | 2 +- geode-assembly/build.gradle | 44 +- geode-assembly/geode-assembly-test/build.gradle | 1 - .../gradle-test-projects/management/build.gradle | 16 +- geode-core/build.gradle | 548 ++++++++++----------- .../geode-deployment-legacy/build.gradle | 18 +- geode-dunit/build.gradle | 1 - geode-gfsh/build.gradle | 102 ++-- geode-http-service/build.gradle | 2 +- geode-jmh/build.gradle | 12 +- geode-junit/build.gradle | 6 +- geode-log4j/build.gradle | 1 - geode-logging/build.gradle | 60 ++- geode-lucene/geode-lucene-test/build.gradle | 1 - geode-membership/build.gradle | 67 ++- geode-old-client-support/build.gradle | 1 - geode-pulse/geode-pulse-test/build.gradle | 1 - geode-serialization/build.gradle | 2 - geode-tcp-server/build.gradle | 36 +- geode-web/build.gradle | 2 +- gradle/spotless.gradle | 8 +- static-analysis/pmd-rules/build.gradle | 6 +- 24 files changed, 475 insertions(+), 472 deletions(-) diff --git a/boms/geode-client-bom/build.gradle b/boms/geode-client-bom/build.gradle index e89fdfa..f012b47 100644 --- a/boms/geode-client-bom/build.gradle +++ b/boms/geode-client-bom/build.gradle @@ -42,4 +42,3 @@ publishing { } } } - diff --git a/extensions/geode-modules-assembly/build.gradle b/extensions/geode-modules-assembly/build.gradle index 7cb039c..53532d9 100644 --- a/extensions/geode-modules-assembly/build.gradle +++ b/extensions/geode-modules-assembly/build.gradle @@ -236,10 +236,15 @@ tasks.register('distTcServer30', Zip) { configure(configureTcServer30Assembly) } -task dist(type: Task, dependsOn: ['distTcServer', 'distTcServer30', 'distTomcat', 'distAppServer']) +task dist(type: Task, dependsOn: [ + 'distTcServer', + 'distTcServer30', + 'distTomcat', + 'distAppServer' +]) build.dependsOn dist sonarqube { skipProject = true -} \ No newline at end of file +} diff --git a/extensions/session-testing-war/build.gradle b/extensions/session-testing-war/build.gradle index 4668ce5..e8e2d91 100644 --- a/extensions/session-testing-war/build.gradle +++ b/extensions/session-testing-war/build.gradle @@ -28,5 +28,5 @@ dependencies { } war { - archiveVersion = '' + archiveVersion = '' } diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index f0a4928..1a68312 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -311,8 +311,8 @@ dependencies { } acceptanceTest { - // This is specifically used by GradleBuildWithGeodeCoreAcceptanceTest - systemProperty 'projectGroup', project.group + // This is specifically used by GradleBuildWithGeodeCoreAcceptanceTest + systemProperty 'projectGroup', project.group } tasks.register('defaultDistributionConfig', JavaExec) { @@ -348,17 +348,18 @@ tasks.register('defaultCacheConfig', JavaExec) { def cp = { // first add all the dependent project jars def jars = configurations.geodeArchives.dependencies.collect { it.dependencyProject } - .findAll { !(it.name.contains('geode-web') || it.name.contains('geode-pulse')) } - .collect { it.jar.archiveName } + .findAll { !(it.name.contains('geode-web') || it.name.contains('geode-pulse')) } + .collect { it.jar.archiveName } // then add all the dependencies of the dependent jars def depJars = configurations.geodeArchives.dependencies.collect { it.dependencyProject.findAll { !(it.name.contains('geode-web') || - it.name.contains('geode-pulse')) + it.name.contains('geode-pulse')) }.collect { - it.configurations.runtimeClasspath.collect { it.getName() }.findAll { !( - it.contains('geode-all-bom') || + it.configurations.runtimeClasspath.collect { it.getName() }.findAll { + !( + it.contains('geode-all-bom') || // exclude mx4j, once the deprecated code is deleted we can remove these entirely it.contains('commons-digester') || @@ -380,7 +381,7 @@ def cp = { it.contains('spring-context') || it.contains('spring-expression') || it.contains('spring-web') - )} + )} } }.flatten() @@ -553,7 +554,8 @@ distributions { with copySpec { into('lib') - from { dependentProjectNames.collect { + from { + dependentProjectNames.collect { [ project(':'.concat(it)).configurations.runtimeClasspath, project(':'.concat(it)).configurations.archives.allArtifacts.files @@ -607,8 +609,9 @@ distributions { } // Distribution plugin does not allow configuring of the task, only the contents. So we set // compression and classifier here -[tasks.named('distTar'), - tasks.named('srcDistTar'), +[ + tasks.named('distTar'), + tasks.named('srcDistTar'), ]*.configure { compression Compression.GZIP archiveExtension='tgz' @@ -621,10 +624,11 @@ tasks.named('srcDistTar').configure { classifier 'src' } -[tasks.named('distZip'), - tasks.named('srcDistZip'), - tasks.named('dockerfileZip'), - ]*.configure { +[ + tasks.named('distZip'), + tasks.named('srcDistZip'), + tasks.named('dockerfileZip'), +]*.configure { enabled = false } @@ -660,11 +664,11 @@ task dumpInstalledJars(dependsOn: installDist) { installDir.include("**/*.war").visit{ file -> if(!file.isDirectory()) { - FileTree warContents = zipTree(file.file) - println "" - println file.name - println("==========================") - printJars(warContents) + FileTree warContents = zipTree(file.file) + println "" + println file.name + println("==========================") + printJars(warContents) } } } diff --git a/geode-assembly/geode-assembly-test/build.gradle b/geode-assembly/geode-assembly-test/build.gradle index 5d076ef..bd6559b 100755 --- a/geode-assembly/geode-assembly-test/build.gradle +++ b/geode-assembly/geode-assembly-test/build.gradle @@ -39,4 +39,3 @@ dependencies { compileOnly('org.assertj:assertj-core') compileOnly('org.codehaus.cargo:cargo-core-uberjar') } - diff --git a/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle b/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle index b1252a6..0542f3e 100644 --- a/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle +++ b/geode-assembly/src/acceptanceTest/resources/gradle-test-projects/management/build.gradle @@ -14,24 +14,24 @@ */ plugins { - id 'java' - id 'application' + id 'java' + id 'application' } repositories { - mavenLocal() - mavenCentral() + mavenLocal() + mavenCentral() } dependencies { - compile("${project.group}:geode-core:${project.version}") - runtime('org.apache.logging.log4j:log4j-slf4j-impl:2.12.0') + compile("${project.group}:geode-core:${project.version}") + runtime('org.apache.logging.log4j:log4j-slf4j-impl:2.12.0') } application { - mainClassName = 'ServerTestApp' + mainClassName = 'ServerTestApp' } run { - environment['GEODE_HOME'] = "${findProperty('geodeHome')}" + environment['GEODE_HOME'] = "${findProperty('geodeHome')}" } diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 8035775..85ad356 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -24,95 +24,95 @@ apply from: "${project.projectDir}/../gradle/pmd.gradle" apply from: "${project.projectDir}/../gradle/jmh.gradle" sourceSets { - jca { - compileClasspath += configurations.compileClasspath - runtimeClasspath += configurations.runtimeClasspath - } + jca { + compileClasspath += configurations.compileClasspath + runtimeClasspath += configurations.runtimeClasspath + } } idea { - module { - testSourceDirs += project.tasks.generateIntegrationTestGrammarSource.outputs.files - testSourceDirs += project.tasks.generateDistributedTestGrammarSource.outputs.files - testSourceDirs += project.tasks.generatePerformanceTestGrammarSource.outputs.files - testSourceDirs += project.tasks.generateUpgradeTestGrammarSource.outputs.files - } + module { + testSourceDirs += project.tasks.generateIntegrationTestGrammarSource.outputs.files + testSourceDirs += project.tasks.generateDistributedTestGrammarSource.outputs.files + testSourceDirs += project.tasks.generatePerformanceTestGrammarSource.outputs.files + testSourceDirs += project.tasks.generateUpgradeTestGrammarSource.outputs.files + } } def generatedResources = "$buildDir/generated-resources/main" sourceSets { - main { - output.dir(generatedResources, builtBy: 'createVersionPropertiesFile') - } - test { - output.dir(generatedResources, builtBy: 'createVersionPropertiesFile') - } + main { + output.dir(generatedResources, builtBy: 'createVersionPropertiesFile') + } + test { + output.dir(generatedResources, builtBy: 'createVersionPropertiesFile') + } } sourceSets { -// This works around resource-look up between integrationTest and test source-sets. -// See GEODE-5803 / GEODE-5882 - test.resources.srcDirs.each { testResourceSrc -> - integrationTest.resources.srcDir { - testResourceSrc - } + // This works around resource-look up between integrationTest and test source-sets. + // See GEODE-5803 / GEODE-5882 + test.resources.srcDirs.each { testResourceSrc -> + integrationTest.resources.srcDir { + testResourceSrc } + } } // Creates the version properties file and writes it to the classes dir task createVersionPropertiesFile(dependsOn: ':writeBuildInfo') { - def propertiesFile = file(generatedResources + "/org/apache/geode/internal/GemFireVersion.properties") - def scmInfoFile = rootProject.tasks.writeBuildInfo.outputs.files - - inputs.files { - scmInfoFile - } - outputs.files { - propertiesFile + def propertiesFile = file(generatedResources + "/org/apache/geode/internal/GemFireVersion.properties") + def scmInfoFile = rootProject.tasks.writeBuildInfo.outputs.files + + inputs.files { + scmInfoFile + } + outputs.files { + propertiesFile + } + + def props = [ + "Product-Name" : productName, + "Product-Version" : version, + "Build-Id" : "${System.env.USER} ${buildId}".toString(), + "Build-Platform" : "${System.properties['os.name']} ${System.properties['os.version']} ${System.properties['os.arch']}".toString(), + "Build-Java-Vendor" : System.properties['java.vendor'], + "Build-Java-Version": System.properties['java.version'] + ] as Properties + + inputs.properties(props) + + doLast { + def scmInfo = new Properties() + new FileInputStream(scmInfoFile.singleFile).withStream { fis -> + scmInfo.load(fis) } + props.putAll(scmInfo) - def props = [ - "Product-Name" : productName, - "Product-Version" : version, - "Build-Id" : "${System.env.USER} ${buildId}".toString(), - "Build-Platform" : "${System.properties['os.name']} ${System.properties['os.version']} ${System.properties['os.arch']}".toString(), - "Build-Java-Vendor" : System.properties['java.vendor'], - "Build-Java-Version": System.properties['java.version'] - ] as Properties - - inputs.properties(props) - - doLast { - def scmInfo = new Properties() - new FileInputStream(scmInfoFile.singleFile).withStream { fis -> - scmInfo.load(fis) - } - props.putAll(scmInfo) - - propertiesFile.getParentFile().mkdirs() - new FileOutputStream(propertiesFile).withStream { fos -> - props.store(fos, '') - } + propertiesFile.getParentFile().mkdirs() + new FileOutputStream(propertiesFile).withStream { fos -> + props.store(fos, '') } + } } ext.moduleName = group + '.core' jar { - from sourceSets.main.output - from sourceSets.jca.output + from sourceSets.main.output + from sourceSets.jca.output - exclude 'org/apache/geode/internal/i18n/StringIdResourceBundle_ja.txt' - exclude 'org/apache/geode/admin/doc-files/ds4_0.dtd' + exclude 'org/apache/geode/internal/i18n/StringIdResourceBundle_ja.txt' + exclude 'org/apache/geode/admin/doc-files/ds4_0.dtd' - inputs.property("moduleName", moduleName) - manifest { - attributes('Automatic-Module-Name': moduleName) - } + inputs.property("moduleName", moduleName) + manifest { + attributes('Automatic-Module-Name': moduleName) + } } @@ -127,281 +127,281 @@ repeatUpgradeTest { } task raJar(type: Jar, dependsOn: classes) { - description 'Assembles the jar archive that contains the JCA classes' - from sourceSets.jca.output - exclude 'org/apache/geode/ra/**' - archiveFileName='ra.jar' + 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) { - description 'Assembles the jar archive that contains the JCA bundle' - archiveBaseName='geode-jca' - archiveExtension='rar' - metaInf { from 'src/jca/ra.xml' } - from raJar.archivePath + description 'Assembles the jar archive that contains the JCA bundle' + archiveBaseName='geode-jca' + archiveExtension='rar' + metaInf { from 'src/jca/ra.xml' } + from raJar.archivePath } configurations { - //declaring new configuration that will be used to associate with artifacts - archives + //declaring new configuration that will be used to associate with artifacts + archives - classesOutput { - extendsFrom api - description 'a dependency that exposes the compiled classes' - } + classesOutput { + extendsFrom api + description 'a dependency that exposes the compiled classes' + } - jmh { - extendsFrom testImplementation - } + jmh { + extendsFrom testImplementation + } - raOutput + raOutput } artifacts { - raOutput raJar + raOutput raJar } dependencies { - //These bom dependencies are used to constrain the versions of the dependencies listed below - api(platform(project(':boms:geode-all-bom'))) - compileOnly(platform(project(':boms:geode-all-bom'))) - testCompileOnly(platform(project(':boms:geode-all-bom'))) - // As plugin configurations that do not extend from compile, - // we must explicitly impose version constraints on these configurations. - antlr platform(project(':boms:geode-all-bom')) - jcaAnnotationProcessor(platform(project(':boms:geode-all-bom'))) - - //A dependency that contains the compiled output of the source. What is this for? - classesOutput sourceSets.main.output - - - // Source Dependencies - //------------------------------------------------------------ - - // The antlr configuration is used by the antlr plugin, which compiles grammar - // files used by the query engine - antlr 'antlr:antlr' - - // External - //------------------------------------------------------------ - - //Commons IO is used in persistence and management - api('commons-io:commons-io') - - //tools.jar seems to be used by gfsh is some cases to control processes using - //the sun attach API? But this code path may not even be used? - compileOnly(files("${System.getProperty('java.home')}/../lib/tools.jar")) - - //Find bugs is used in multiple places in the code to suppress findbugs warnings - compileOnly('com.github.stephenc.findbugs:findbugs-annotations') - testCompileOnly('com.github.stephenc.findbugs:findbugs-annotations') - - //Spring web is used for SerializableObjectHttpMessageConverter - implementation('org.springframework:spring-web') - // find bugs leaks in from spring, needed to remove warnings. - compileOnly('com.google.code.findbugs:jsr305') + //These bom dependencies are used to constrain the versions of the dependencies listed below + api(platform(project(':boms:geode-all-bom'))) + compileOnly(platform(project(':boms:geode-all-bom'))) + testCompileOnly(platform(project(':boms:geode-all-bom'))) + // As plugin configurations that do not extend from compile, + // we must explicitly impose version constraints on these configurations. + antlr platform(project(':boms:geode-all-bom')) + jcaAnnotationProcessor(platform(project(':boms:geode-all-bom'))) - compileOnly('org.jetbrains:annotations') + //A dependency that contains the compiled output of the source. What is this for? + classesOutput sourceSets.main.output - //Jgroups is a core component of our membership system. - implementation('org.jgroups:jgroups') - //Antlr is used by the query engine. - implementation('antlr:antlr') + // Source Dependencies + //------------------------------------------------------------ - //Jackson annotations is used in gfsh - implementation('com.fasterxml.jackson.core:jackson-annotations') + // The antlr configuration is used by the antlr plugin, which compiles grammar + // files used by the query engine + antlr 'antlr:antlr' - //Jackson databind is used in gfsh, and also in pdx - implementation('com.fasterxml.jackson.core:jackson-databind') + // External + //------------------------------------------------------------ - //Commons validator is used to validate inet addresses in membership - implementation('commons-validator:commons-validator') + //Commons IO is used in persistence and management + api('commons-io:commons-io') + //tools.jar seems to be used by gfsh is some cases to control processes using + //the sun attach API? But this code path may not even be used? + compileOnly(files("${System.getProperty('java.home')}/../lib/tools.jar")) - //jaxb is used by cluster configuration - implementation('javax.xml.bind:jaxb-api') + //Find bugs is used in multiple places in the code to suppress findbugs warnings + compileOnly('com.github.stephenc.findbugs:findbugs-annotations') + testCompileOnly('com.github.stephenc.findbugs:findbugs-annotations') - //jaxb is used by cluster configuration - implementation('com.sun.xml.bind:jaxb-impl') + //Spring web is used for SerializableObjectHttpMessageConverter + implementation('org.springframework:spring-web') + // find bugs leaks in from spring, needed to remove warnings. + compileOnly('com.google.code.findbugs:jsr305') - //istack appears to be used only by jaxb, not in our code. jaxb doesn't - //declare this as required dependency though. It's unclear if this is needed - //Runtime - runtimeOnly('com.sun.istack:istack-commons-runtime') { - exclude group: '*' - } + compileOnly('org.jetbrains:annotations') - runtimeOnly(project(':geode-deployment:geode-deployment-legacy')) + //Jgroups is a core component of our membership system. + implementation('org.jgroups:jgroups') - //Commons lang is used in many different places in core - implementation('org.apache.commons:commons-lang3') + //Antlr is used by the query engine. + implementation('antlr:antlr') - //Commons modeler is used by the (deprecated) admin API - implementation('commons-modeler:commons-modeler') { - exclude module: 'commons-logging-api' - exclude module: 'mx4j-jmx' - exclude module: 'xml-apis' - ext.optional = true - } + //Jackson annotations is used in gfsh + implementation('com.fasterxml.jackson.core:jackson-annotations') - //micrometer is used for micrometer based metrics from geode geode - api('io.micrometer:micrometer-core') + //Jackson databind is used in gfsh, and also in pdx + implementation('com.fasterxml.jackson.core:jackson-databind') + //Commons validator is used to validate inet addresses in membership + implementation('commons-validator:commons-validator') - //FastUtil contains optimized collections that are used in multiple places in core - implementation('it.unimi.dsi:fastutil') - //Mail API is used by the deprecated admin API - implementation('javax.mail:javax.mail-api') { - ext.optional = true - } + //jaxb is used by cluster configuration + implementation('javax.xml.bind:jaxb-api') - //The resource-API is used by the JCA support. - api('javax.resource:javax.resource-api') + //jaxb is used by cluster configuration + implementation('com.sun.xml.bind:jaxb-impl') + //istack appears to be used only by jaxb, not in our code. jaxb doesn't + //declare this as required dependency though. It's unclear if this is needed + //Runtime + runtimeOnly('com.sun.istack:istack-commons-runtime') { + exclude group: '*' + } - //MX4J is used by the old admin API - implementation('mx4j:mx4j') { - ext.optional = true - } - - //MX4J remote is used by the old admin API - implementation('mx4j:mx4j-remote') { - ext.optional = true - } - - //MX4J tools is used by the old admin API - implementation('mx4j:mx4j-tools') { - ext.optional = true - } - - //JNA is used for locking memory and preallocating disk files. - implementation('net.java.dev.jna:jna') - implementation('net.java.dev.jna:jna-platform') + runtimeOnly(project(':geode-deployment:geode-deployment-legacy')) - //JOptSimple is used by gfsh. A couple of usages have leaked into DiskStore - implementation('net.sf.jopt-simple:jopt-simple') + //Commons lang is used in many different places in core + implementation('org.apache.commons:commons-lang3') - //Log4j is used everywhere - implementation('org.apache.logging.log4j:log4j-api') + //Commons modeler is used by the (deprecated) admin API + implementation('commons-modeler:commons-modeler') { + exclude module: 'commons-logging-api' + exclude module: 'mx4j-jmx' + exclude module: 'xml-apis' + ext.optional = true + } + //micrometer is used for micrometer based metrics from geode geode + api('io.micrometer:micrometer-core') - implementation('io.swagger:swagger-annotations') { - ext.optional = true - } - runtimeOnly(project(':geode-http-service')) { - ext.optional = true - } + //FastUtil contains optimized collections that are used in multiple places in core + implementation('it.unimi.dsi:fastutil') - //Snappy is used for compressing values, if enabled - implementation('org.iq80.snappy:snappy') { - ext.optional = true - } + //Mail API is used by the deprecated admin API + implementation('javax.mail:javax.mail-api') { + ext.optional = true + } - //Shiro is used for security checks throughout geode-core - //API - Shiro is exposed in geode's ResourcePermission class - api('org.apache.shiro:shiro-core') + //The resource-API is used by the JCA support. + api('javax.resource:javax.resource-api') - //Classgraph is used by the gfsh cli, and also for function deployment (which happens in a server - //in response to a gfsh command) - implementation('io.github.classgraph:classgraph') - //RMIIO is used for uploading jar files and copying them between locator an servers - implementation('com.healthmarketscience.rmiio:rmiio') + //MX4J is used by the old admin API + implementation('mx4j:mx4j') { + ext.optional = true + } - //Geode-common has annotations and other pieces used geode-core - api(project(':geode-common')) - implementation(project(':geode-logging')) - implementation(project(':geode-membership')) - implementation(project(':geode-unsafe')) - implementation(project(':geode-serialization')) - implementation(project(':geode-tcp-server')) + //MX4J remote is used by the old admin API + implementation('mx4j:mx4j-remote') { + ext.optional = true + } - //geode-management currently has pieces of the public API - //copied into it, so it is an API dependency - api(project(':geode-management')) + //MX4J tools is used by the old admin API + implementation('mx4j:mx4j-tools') { + ext.optional = true + } + + //JNA is used for locking memory and preallocating disk files. + implementation('net.java.dev.jna:jna') + implementation('net.java.dev.jna:jna-platform') + //JOptSimple is used by gfsh. A couple of usages have leaked into DiskStore + implementation('net.sf.jopt-simple:jopt-simple') - jcaImplementation(sourceSets.main.output) + //Log4j is used everywhere + implementation('org.apache.logging.log4j:log4j-api') - testImplementation(project(':geode-junit')) { - exclude module: 'geode-core' - } - testImplementation(project(':geode-concurrency-test')) - testImplementation('org.apache.bcel:bcel') - testImplementation('org.assertj:assertj-core') - testImplementation('org.mockito:mockito-core') - testImplementation('com.pholser:junit-quickcheck-core') - testImplementation('pl.pragmatists:JUnitParams') - testImplementation('com.tngtech.archunit:archunit-junit4') - testImplementation(project(path: ':geode-core', configuration: 'raOutput')) - - testImplementation(files("${System.getProperty('java.home')}/../lib/tools.jar")) - - testRuntimeOnly('commons-collections:commons-collections') - testRuntimeOnly('commons-configuration:commons-configuration') - testRuntimeOnly('commons-io:commons-io') - testRuntimeOnly('commons-validator:commons-validator') - testRuntimeOnly('com.pholser:junit-quickcheck-generators') - - // Needed for JDK8, not JDK11, after nebula.facet v7.0.9 - integrationTestImplementation(files("${System.getProperty('java.home')}/../lib/tools.jar")) - integrationTestImplementation(project(':geode-gfsh')) - integrationTestImplementation(project(':geode-junit')) - integrationTestImplementation(project(':geode-dunit')) - integrationTestImplementation(project(':geode-log4j')) - integrationTestImplementation(project(':geode-concurrency-test')) - integrationTestImplementation('org.apache.bcel:bcel') - integrationTestImplementation('org.apache.logging.log4j:log4j-core') - integrationTestImplementation('pl.pragmatists:JUnitParams') - integrationTestImplementation('com.tngtech.archunit:archunit-junit4') - - - integrationTestRuntimeOnly('org.apache.derby:derby') - integrationTestRuntimeOnly('xerces:xercesImpl') - integrationTestRuntimeOnly('com.fasterxml.jackson.datatype:jackson-datatype-jsr310') - - distributedTestImplementation(project(':geode-gfsh')) - distributedTestImplementation(project(':geode-junit')) { - exclude module: 'geode-core' - } - distributedTestImplementation(project(':geode-dunit')) { - exclude module: 'geode-core' - } - distributedTestImplementation(project(':geode-log4j')) { - exclude module: 'geode-core' - } - distributedTestImplementation('pl.pragmatists:JUnitParams') - distributedTestImplementation('com.jayway.jsonpath:json-path-assert') - distributedTestImplementation('net.openhft:compiler') - distributedTestRuntimeOnly('org.apache.derby:derby') + implementation('io.swagger:swagger-annotations') { + ext.optional = true + } + runtimeOnly(project(':geode-http-service')) { + ext.optional = true + } - upgradeTestImplementation(project(':geode-dunit')) { - exclude module: 'geode-core' - } + //Snappy is used for compressing values, if enabled + implementation('org.iq80.snappy:snappy') { + ext.optional = true + } - upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) - upgradeTestRuntimeOnly(project(':geode-log4j')) - upgradeTestRuntimeOnly(project(':geode-old-client-support')) + //Shiro is used for security checks throughout geode-core + //API - Shiro is exposed in geode's ResourcePermission class + api('org.apache.shiro:shiro-core') - performanceTestImplementation(project(':geode-junit')) { - exclude module: 'geode-core' - } - performanceTestImplementation(project(':geode-log4j')) + //Classgraph is used by the gfsh cli, and also for function deployment (which happens in a server + //in response to a gfsh command) + implementation('io.github.classgraph:classgraph') - jmhImplementation('org.jctools:jctools-core:3.3.0') + //RMIIO is used for uploading jar files and copying them between locator an servers + implementation('com.healthmarketscience.rmiio:rmiio') + + //Geode-common has annotations and other pieces used geode-core + api(project(':geode-common')) + implementation(project(':geode-logging')) + implementation(project(':geode-membership')) + implementation(project(':geode-unsafe')) + implementation(project(':geode-serialization')) + implementation(project(':geode-tcp-server')) + + //geode-management currently has pieces of the public API + //copied into it, so it is an API dependency + api(project(':geode-management')) + + + jcaImplementation(sourceSets.main.output) + + testImplementation(project(':geode-junit')) { + exclude module: 'geode-core' + } + testImplementation(project(':geode-concurrency-test')) + testImplementation('org.apache.bcel:bcel') + testImplementation('org.assertj:assertj-core') + testImplementation('org.mockito:mockito-core') + testImplementation('com.pholser:junit-quickcheck-core') + testImplementation('pl.pragmatists:JUnitParams') + testImplementation('com.tngtech.archunit:archunit-junit4') + testImplementation(project(path: ':geode-core', configuration: 'raOutput')) + + testImplementation(files("${System.getProperty('java.home')}/../lib/tools.jar")) + + testRuntimeOnly('commons-collections:commons-collections') + testRuntimeOnly('commons-configuration:commons-configuration') + testRuntimeOnly('commons-io:commons-io') + testRuntimeOnly('commons-validator:commons-validator') + testRuntimeOnly('com.pholser:junit-quickcheck-generators') + + // Needed for JDK8, not JDK11, after nebula.facet v7.0.9 + integrationTestImplementation(files("${System.getProperty('java.home')}/../lib/tools.jar")) + integrationTestImplementation(project(':geode-gfsh')) + integrationTestImplementation(project(':geode-junit')) + integrationTestImplementation(project(':geode-dunit')) + integrationTestImplementation(project(':geode-log4j')) + integrationTestImplementation(project(':geode-concurrency-test')) + integrationTestImplementation('org.apache.bcel:bcel') + integrationTestImplementation('org.apache.logging.log4j:log4j-core') + integrationTestImplementation('pl.pragmatists:JUnitParams') + integrationTestImplementation('com.tngtech.archunit:archunit-junit4') + + + integrationTestRuntimeOnly('org.apache.derby:derby') + integrationTestRuntimeOnly('xerces:xercesImpl') + integrationTestRuntimeOnly('com.fasterxml.jackson.datatype:jackson-datatype-jsr310') + + distributedTestImplementation(project(':geode-gfsh')) + distributedTestImplementation(project(':geode-junit')) { + exclude module: 'geode-core' + } + distributedTestImplementation(project(':geode-dunit')) { + exclude module: 'geode-core' + } + distributedTestImplementation(project(':geode-log4j')) { + exclude module: 'geode-core' + } + distributedTestImplementation('pl.pragmatists:JUnitParams') + distributedTestImplementation('com.jayway.jsonpath:json-path-assert') + distributedTestImplementation('net.openhft:compiler') + + distributedTestRuntimeOnly('org.apache.derby:derby') + + + upgradeTestImplementation(project(':geode-dunit')) { + exclude module: 'geode-core' + } + + upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) + upgradeTestRuntimeOnly(project(':geode-log4j')) + upgradeTestRuntimeOnly(project(':geode-old-client-support')) + + performanceTestImplementation(project(':geode-junit')) { + exclude module: 'geode-core' + } + performanceTestImplementation(project(':geode-log4j')) + + jmhImplementation('org.jctools:jctools-core:3.3.0') } tasks.eclipse.dependsOn(generateGrammarSource) distributedTest { - // Some tests have inner tests that should be ignored - exclude "**/*\$*.class" + // Some tests have inner tests that should be ignored + exclude "**/*\$*.class" } rootProject.generate.dependsOn(generateGrammarSource) diff --git a/geode-deployment/geode-deployment-legacy/build.gradle b/geode-deployment/geode-deployment-legacy/build.gradle index 57f93d0..d19a662 100644 --- a/geode-deployment/geode-deployment-legacy/build.gradle +++ b/geode-deployment/geode-deployment-legacy/build.gradle @@ -21,17 +21,17 @@ apply from: "${project.projectDir}/../../gradle/publish-java.gradle" apply from: "${project.projectDir}/../../gradle/warnings.gradle" dependencies { - implementation(platform(project(':boms:geode-all-bom'))) - compileOnly(platform(project(':boms:geode-all-bom'))) + implementation(platform(project(':boms:geode-all-bom'))) + compileOnly(platform(project(':boms:geode-all-bom'))) - implementation(project(':geode-core')) - implementation(project(':geode-common')) - implementation('io.swagger:swagger-annotations') + implementation(project(':geode-core')) + implementation(project(':geode-common')) + implementation('io.swagger:swagger-annotations') - compileOnly(project(':geode-logging')) - compileOnly('com.fasterxml.jackson.core:jackson-databind') + compileOnly(project(':geode-logging')) + compileOnly('com.fasterxml.jackson.core:jackson-databind') - testImplementation(project(':geode-junit')) + testImplementation(project(':geode-junit')) - integrationTestImplementation(project(':geode-junit')) + integrationTestImplementation(project(':geode-junit')) } diff --git a/geode-dunit/build.gradle b/geode-dunit/build.gradle index 6261dbb..23a543b 100755 --- a/geode-dunit/build.gradle +++ b/geode-dunit/build.gradle @@ -73,4 +73,3 @@ distributedTest { // Some tests have inner tests that should be ignored exclude "**/*\$*.class" } - diff --git a/geode-gfsh/build.gradle b/geode-gfsh/build.gradle index e7c23ae..1a70157 100644 --- a/geode-gfsh/build.gradle +++ b/geode-gfsh/build.gradle @@ -21,66 +21,66 @@ apply from: "${project.projectDir}/../gradle/publish-java.gradle" apply from: "${project.projectDir}/../gradle/warnings.gradle" dependencies { - api(platform(project(':boms:geode-all-bom'))) + api(platform(project(':boms:geode-all-bom'))) - api(project(':geode-core')) - api(project(':geode-common')) + api(project(':geode-core')) + api(project(':geode-common')) - implementation(project(':geode-logging')) - implementation(project(':geode-membership')) - implementation(project(':geode-serialization')) - implementation(project(':geode-unsafe')) - implementation('org.springframework:spring-web') - implementation('org.apache.commons:commons-lang3') - implementation('com.healthmarketscience.rmiio:rmiio') - implementation('com.fasterxml.jackson.core:jackson-databind') - implementation('io.swagger:swagger-annotations') + implementation(project(':geode-logging')) + implementation(project(':geode-membership')) + implementation(project(':geode-serialization')) + implementation(project(':geode-unsafe')) + implementation('org.springframework:spring-web') + implementation('org.apache.commons:commons-lang3') + implementation('com.healthmarketscience.rmiio:rmiio') + implementation('com.fasterxml.jackson.core:jackson-databind') + implementation('io.swagger:swagger-annotations') -// //Find bugs is used in multiple places in the code to suppress findbugs warnings - testImplementation('com.github.stephenc.findbugs:findbugs-annotations') - testImplementation('org.springframework:spring-test') - testImplementation(project(':geode-junit')) + // //Find bugs is used in multiple places in the code to suppress findbugs warnings + testImplementation('com.github.stephenc.findbugs:findbugs-annotations') + testImplementation('org.springframework:spring-test') + testImplementation(project(':geode-junit')) - integrationTestImplementation(project(':geode-dunit')) - integrationTestImplementation('pl.pragmatists:JUnitParams') - integrationTestRuntimeOnly('org.apache.derby:derby') - - distributedTestImplementation(project(':geode-dunit')) - distributedTestImplementation('pl.pragmatists:JUnitParams') - distributedTestRuntimeOnly('org.apache.derby:derby') + integrationTestImplementation(project(':geode-dunit')) + integrationTestImplementation('pl.pragmatists:JUnitParams') + integrationTestRuntimeOnly('org.apache.derby:derby') - testCompileOnly(platform(project(':boms:geode-all-bom'))) - testCompileOnly('io.swagger:swagger-annotations') + distributedTestImplementation(project(':geode-dunit')) + distributedTestImplementation('pl.pragmatists:JUnitParams') + distributedTestRuntimeOnly('org.apache.derby:derby') - upgradeTestImplementation(project(':geode-junit')) - upgradeTestImplementation(project(':geode-dunit')) + testCompileOnly(platform(project(':boms:geode-all-bom'))) + testCompileOnly('io.swagger:swagger-annotations') - upgradeTestImplementation('org.awaitility:awaitility') - upgradeTestImplementation('org.assertj:assertj-core') - upgradeTestImplementation('junit:junit') - upgradeTestImplementation('xml-apis:xml-apis:2.0.2') - upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) + upgradeTestImplementation(project(':geode-junit')) + upgradeTestImplementation(project(':geode-dunit')) - implementation('net.sf.jopt-simple:jopt-simple') + upgradeTestImplementation('org.awaitility:awaitility') + upgradeTestImplementation('org.assertj:assertj-core') + upgradeTestImplementation('junit:junit') + upgradeTestImplementation('xml-apis:xml-apis:2.0.2') + upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) - //Log4j is used everywhere - implementation('org.apache.logging.log4j:log4j-api') + implementation('net.sf.jopt-simple:jopt-simple') - //Spring core is used by the the gfsh cli - implementation('org.springframework:spring-core') { - ext.optional = true - } + //Log4j is used everywhere + implementation('org.apache.logging.log4j:log4j-api') - //Spring shell is used by the gfsh cli. It's unclear why we can exclude - //So many transitive dependencies - are these really optional? - //GfshCommand is a public API class that depends on spring shell - api('org.springframework.shell:spring-shell') { - exclude module: 'aopalliance' - exclude module: 'asm' - exclude module: 'cglib' - exclude module: 'guava' - exclude module: 'spring-aop' - exclude module: 'spring-context-support' - exclude module: 'spring-core' - } + //Spring core is used by the the gfsh cli + implementation('org.springframework:spring-core') { + ext.optional = true + } + + //Spring shell is used by the gfsh cli. It's unclear why we can exclude + //So many transitive dependencies - are these really optional? + //GfshCommand is a public API class that depends on spring shell + api('org.springframework.shell:spring-shell') { + exclude module: 'aopalliance' + exclude module: 'asm' + exclude module: 'cglib' + exclude module: 'guava' + exclude module: 'spring-aop' + exclude module: 'spring-context-support' + exclude module: 'spring-core' + } } diff --git a/geode-http-service/build.gradle b/geode-http-service/build.gradle index b2b772d..c932659 100755 --- a/geode-http-service/build.gradle +++ b/geode-http-service/build.gradle @@ -28,7 +28,7 @@ dependencies { implementation('org.eclipse.jetty:jetty-webapp') implementation('org.eclipse.jetty:jetty-server') implementation('org.apache.commons:commons-lang3') - + compileOnly(project(':geode-core')) compileOnly(project(':geode-common')) { exclude module: 'junit' diff --git a/geode-jmh/build.gradle b/geode-jmh/build.gradle index 37e0284..f953dcb 100644 --- a/geode-jmh/build.gradle +++ b/geode-jmh/build.gradle @@ -34,17 +34,21 @@ dependencies { jar { manifest { attributes( - 'Premain-Class': 'org.apache.geode.benchmark.jmh.profilers.ObjectSizeAgent' - ) + 'Premain-Class': 'org.apache.geode.benchmark.jmh.profilers.ObjectSizeAgent' + ) } } test { - jvmArgs += ['-javaagent:' + jar.outputs.files.singleFile] + jvmArgs += [ + '-javaagent:' + jar.outputs.files.singleFile + ] dependsOn jar } repeatUnitTest { - jvmArgs += ['-javaagent:' + jar.outputs.files.singleFile] + jvmArgs += [ + '-javaagent:' + jar.outputs.files.singleFile + ] dependsOn jar } diff --git a/geode-junit/build.gradle b/geode-junit/build.gradle index 54bade5..51bf32e 100755 --- a/geode-junit/build.gradle +++ b/geode-junit/build.gradle @@ -50,14 +50,14 @@ dependencies { api('com.google.guava:guava') api('com.jayway.jsonpath:json-path') api('commons-io:commons-io') - + api('org.apache.commons:commons-lang3') api('org.apache.logging.log4j:log4j-api') - + api('org.awaitility:awaitility') api('org.hamcrest:hamcrest') api('io.micrometer:micrometer-core') - + api('org.skyscreamer:jsonassert') testImplementation('pl.pragmatists:JUnitParams') diff --git a/geode-log4j/build.gradle b/geode-log4j/build.gradle index 257de4c..9eedad0 100644 --- a/geode-log4j/build.gradle +++ b/geode-log4j/build.gradle @@ -79,4 +79,3 @@ dependencies { distributedTestImplementation('org.mockito:mockito-core') distributedTestImplementation('pl.pragmatists:JUnitParams') } - diff --git a/geode-logging/build.gradle b/geode-logging/build.gradle index c036c72..6a32177 100644 --- a/geode-logging/build.gradle +++ b/geode-logging/build.gradle @@ -21,46 +21,44 @@ apply from: "${project.projectDir}/../gradle/publish-java.gradle" apply from: "${project.projectDir}/../gradle/warnings.gradle" dependencies { - api(platform(project(':boms:geode-all-bom'))) + api(platform(project(':boms:geode-all-bom'))) - // Geode-common has annotations and other pieces used by geode-logging - api(project(':geode-common')) + // Geode-common has annotations and other pieces used by geode-logging + api(project(':geode-common')) - api('org.apache.logging.log4j:log4j-api') + api('org.apache.logging.log4j:log4j-api') - testImplementation(project(':geode-junit')) { - exclude module: 'geode-logging' - } - testImplementation(project(':geode-concurrency-test')) + testImplementation(project(':geode-junit')) { + exclude module: 'geode-logging' + } + testImplementation(project(':geode-concurrency-test')) - testImplementation('org.mockito:mockito-core') - testImplementation('junit:junit') - testImplementation('org.assertj:assertj-core') + testImplementation('org.mockito:mockito-core') + testImplementation('junit:junit') + testImplementation('org.assertj:assertj-core') - integrationTestImplementation(project(':geode-junit')) { - exclude module: 'geode-logging' - } - integrationTestImplementation(project(':geode-dunit')) { - exclude module: 'geode-logging' - } - integrationTestImplementation('pl.pragmatists:JUnitParams') - distributedTestImplementation(project(':geode-junit')) { - exclude module: 'geode-logging' - } - distributedTestImplementation(project(':geode-dunit')) { - exclude module: 'geode-logging' - } - distributedTestImplementation('pl.pragmatists:JUnitParams') - upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) + integrationTestImplementation(project(':geode-junit')) { + exclude module: 'geode-logging' + } + integrationTestImplementation(project(':geode-dunit')) { + exclude module: 'geode-logging' + } + integrationTestImplementation('pl.pragmatists:JUnitParams') + distributedTestImplementation(project(':geode-junit')) { + exclude module: 'geode-logging' + } + distributedTestImplementation(project(':geode-dunit')) { + exclude module: 'geode-logging' + } + distributedTestImplementation('pl.pragmatists:JUnitParams') + upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) - testImplementation('com.tngtech.archunit:archunit-junit4') + testImplementation('com.tngtech.archunit:archunit-junit4') } distributedTest { - // Some tests have inner tests that should be ignored - exclude "**/*\$*.class" + // Some tests have inner tests that should be ignored + exclude "**/*\$*.class" } - - diff --git a/geode-lucene/geode-lucene-test/build.gradle b/geode-lucene/geode-lucene-test/build.gradle index cee95ae..4282886 100644 --- a/geode-lucene/geode-lucene-test/build.gradle +++ b/geode-lucene/geode-lucene-test/build.gradle @@ -32,4 +32,3 @@ dependencies { implementation('org.apache.lucene:lucene-test-framework') implementation('org.mockito:mockito-core') } - diff --git a/geode-membership/build.gradle b/geode-membership/build.gradle index 5afe7a0..da30317 100644 --- a/geode-membership/build.gradle +++ b/geode-membership/build.gradle @@ -20,57 +20,56 @@ apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle" apply from: "${project.projectDir}/../gradle/publish-java.gradle" dependencies { - api(platform(project(':boms:geode-all-bom'))) - compileOnly(platform(project(':boms:geode-all-bom'))) + api(platform(project(':boms:geode-all-bom'))) + compileOnly(platform(project(':boms:geode-all-bom'))) - // Geode-common has annotations and other pieces used by geode-logging - api(project(':geode-common')) + // Geode-common has annotations and other pieces used by geode-logging + api(project(':geode-common')) - implementation(project(':geode-logging')) - implementation(project(':geode-serialization')) - implementation(project(':geode-tcp-server')) + implementation(project(':geode-logging')) + implementation(project(':geode-serialization')) + implementation(project(':geode-tcp-server')) - implementation('org.apache.logging.log4j:log4j-api') - implementation('org.jgroups:jgroups') - implementation('org.apache.commons:commons-lang3') - implementation('it.unimi.dsi:fastutil') - implementation('com.github.stephenc.findbugs:findbugs-annotations') - //Commons validator is used to validate inet addresses in membership - implementation('commons-validator:commons-validator') - //Jgroups is a core component of our membership system. - implementation('org.jgroups:jgroups') + implementation('org.apache.logging.log4j:log4j-api') + implementation('org.jgroups:jgroups') + implementation('org.apache.commons:commons-lang3') + implementation('it.unimi.dsi:fastutil') + implementation('com.github.stephenc.findbugs:findbugs-annotations') + //Commons validator is used to validate inet addresses in membership + implementation('commons-validator:commons-validator') + //Jgroups is a core component of our membership system. + implementation('org.jgroups:jgroups') - compileOnly('org.jetbrains:annotations') + compileOnly('org.jetbrains:annotations') - testImplementation(project(':geode-junit')) - testImplementation(project(':geode-concurrency-test')) + testImplementation(project(':geode-junit')) + testImplementation(project(':geode-concurrency-test')) - testImplementation('org.mockito:mockito-core') - testImplementation('junit:junit') - testImplementation('org.assertj:assertj-core') - testImplementation('com.tngtech.archunit:archunit-junit4') + testImplementation('org.mockito:mockito-core') + testImplementation('junit:junit') + testImplementation('org.assertj:assertj-core') + testImplementation('com.tngtech.archunit:archunit-junit4') - integrationTestImplementation(project(':geode-junit')) - integrationTestImplementation('com.tngtech.archunit:archunit-junit4') - integrationTestImplementation('pl.pragmatists:JUnitParams') + integrationTestImplementation(project(':geode-junit')) + integrationTestImplementation('com.tngtech.archunit:archunit-junit4') + integrationTestImplementation('pl.pragmatists:JUnitParams') - integrationTestRuntimeOnly('org.apache.logging.log4j:log4j-core') + integrationTestRuntimeOnly('org.apache.logging.log4j:log4j-core') - distributedTestImplementation(project(':geode-junit')) - distributedTestImplementation(project(':geode-dunit')) - distributedTestImplementation('pl.pragmatists:JUnitParams') + distributedTestImplementation(project(':geode-junit')) + distributedTestImplementation(project(':geode-dunit')) + distributedTestImplementation('pl.pragmatists:JUnitParams') - upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) + upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) } distributedTest { - // Some tests have inner tests that should be ignored - exclude "**/*\$*.class" + // Some tests have inner tests that should be ignored + exclude "**/*\$*.class" } - diff --git a/geode-old-client-support/build.gradle b/geode-old-client-support/build.gradle index 1ceb25a..ee47e2a 100644 --- a/geode-old-client-support/build.gradle +++ b/geode-old-client-support/build.gradle @@ -32,4 +32,3 @@ dependencies { distributedTestImplementation('junit:junit') } - diff --git a/geode-pulse/geode-pulse-test/build.gradle b/geode-pulse/geode-pulse-test/build.gradle index d161ab6..21b38db 100644 --- a/geode-pulse/geode-pulse-test/build.gradle +++ b/geode-pulse/geode-pulse-test/build.gradle @@ -42,4 +42,3 @@ dependencies { implementation('org.seleniumhq.selenium:selenium-chrome-driver') implementation('org.seleniumhq.selenium:selenium-support') } - diff --git a/geode-serialization/build.gradle b/geode-serialization/build.gradle index 14c1cfd..b54ca9b 100755 --- a/geode-serialization/build.gradle +++ b/geode-serialization/build.gradle @@ -68,5 +68,3 @@ distributedTest { // Some tests have inner tests that should be ignored exclude "**/*\$*.class" } - - diff --git a/geode-tcp-server/build.gradle b/geode-tcp-server/build.gradle index 981db88..0a9e583 100644 --- a/geode-tcp-server/build.gradle +++ b/geode-tcp-server/build.gradle @@ -19,29 +19,29 @@ apply from: "${project.projectDir}/../gradle/publish-java.gradle" apply from: "${rootDir}/${scriptDir}/warnings.gradle" dependencies { - api(platform(project(':boms:geode-all-bom'))) + api(platform(project(':boms:geode-all-bom'))) - implementation(project(':geode-logging')) - implementation(project(':geode-serialization')) + implementation(project(':geode-logging')) + implementation(project(':geode-serialization')) - implementation('org.apache.logging.log4j:log4j-api') + implementation('org.apache.logging.log4j:log4j-api') - //Commons validator is used to validate inet addresses - implementation('commons-validator:commons-validator') - testImplementation(project(':geode-junit')) { - exclude module: 'geode-core' - } - testImplementation('org.assertj:assertj-core') + //Commons validator is used to validate inet addresses + implementation('commons-validator:commons-validator') + testImplementation(project(':geode-junit')) { + exclude module: 'geode-core' + } + testImplementation('org.assertj:assertj-core') - testImplementation('com.tngtech.archunit:archunit-junit4') + testImplementation('com.tngtech.archunit:archunit-junit4') - integrationTestImplementation('com.tngtech.archunit:archunit-junit4') - integrationTestImplementation('org.mockito:mockito-core') - integrationTestImplementation(project(':geode-junit')) + integrationTestImplementation('com.tngtech.archunit:archunit-junit4') + integrationTestImplementation('org.mockito:mockito-core') + integrationTestImplementation(project(':geode-junit')) - upgradeTestImplementation(project(':geode-gfsh')) - upgradeTestImplementation(project(':geode-dunit')) - upgradeTestImplementation(project(':geode-membership')) + upgradeTestImplementation(project(':geode-gfsh')) + upgradeTestImplementation(project(':geode-dunit')) + upgradeTestImplementation(project(':geode-membership')) - upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) + upgradeTestRuntimeOnly(project(path: ':geode-old-versions', configuration: 'classpathsOutput')) } diff --git a/geode-web/build.gradle b/geode-web/build.gradle index 3cf3e65..f7446aa 100644 --- a/geode-web/build.gradle +++ b/geode-web/build.gradle @@ -81,4 +81,4 @@ war { artifacts { war tasks.war -} \ No newline at end of file +} diff --git a/gradle/spotless.gradle b/gradle/spotless.gradle index 13cc888..81e092a 100644 --- a/gradle/spotless.gradle +++ b/gradle/spotless.gradle @@ -131,21 +131,23 @@ spotless { // Spotless will not run on unchanged files unless this number changes. bumpThisNumberIfACustomStepChanges(project.ext.'spotless-file-hash') + greclipse() + custom 'Use single-quote in project directives.', { it.replaceAll(/project\(":([^"]*)"\)$/, 'project(\':$1\')') } custom 'Use parenthesis in single-line gradle dependency declarations.', { - it.replaceAll(/\n(\s*\S*(?:[cC]ompile|[rR]untime)(?:Only)?) (?!\()([^{\n]*)\n/, { original, declaration, dep -> + it.replaceAll(/\n(\s*\S*(?:[cC]ompile|[rR]untime|[iI]mplementation|[tT]est)(?:Only)?) (?!\()([^{\n]*)\n/, { original, declaration, dep -> "\n${declaration}(${dep})\n" }) } custom 'Do not pad spaces before parenthesis in gradle dependency declaration.', { - it.replaceAll(/\n(\s*\S*(?:[cC]ompile|[rR]untime)(?:Only)?) +\(/, '\n$1(') + it.replaceAll(/\n(\s*\S*(?:[cC]ompile|[rR]untime|[iI]mplementation|[tT]est)(?:Only)?) +\(/, '\n$1(') } - indentWithSpaces(2) + endWithNewline() } } diff --git a/static-analysis/pmd-rules/build.gradle b/static-analysis/pmd-rules/build.gradle index 84f3a95..1113849 100644 --- a/static-analysis/pmd-rules/build.gradle +++ b/static-analysis/pmd-rules/build.gradle @@ -19,7 +19,7 @@ apply from: "${rootDir}/${scriptDir}/standard-subproject-configuration.gradle" apply from: "${rootDir}/${scriptDir}/warnings.gradle" dependencies { - implementation(platform(project(':boms:geode-all-bom'))) - implementation('net.sourceforge.pmd:pmd-java') - testImplementation('net.sourceforge.pmd:pmd-test') + implementation(platform(project(':boms:geode-all-bom'))) + implementation('net.sourceforge.pmd:pmd-java') + testImplementation('net.sourceforge.pmd:pmd-test') }