diff --git a/build.gradle b/build.gradle index aaf8149d4cb7..516cde47a420 100644 --- a/build.gradle +++ b/build.gradle @@ -15,20 +15,16 @@ * limitations under the License. */ buildscript { - repositories { - gradlePluginPortal() - } - dependencies { - classpath 'com.bmuschko:gradle-docker-plugin:4.0.4' - classpath "com.diffplug.spotless:spotless-plugin-gradle:3.16.0" - classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE" - } + repositories { gradlePluginPortal() } + dependencies { + classpath 'com.bmuschko:gradle-docker-plugin:4.0.4' + classpath "com.diffplug.spotless:spotless-plugin-gradle:3.16.0" + classpath "io.spring.gradle:dependency-management-plugin:1.0.3.RELEASE" + } } -plugins { - id "org.nosphere.apache.rat" version "0.3.1" -} +plugins { id "org.nosphere.apache.rat" version "0.3.1" } apply plugin: 'com.bmuschko.docker-remote-api' @@ -42,9 +38,9 @@ dependencyVersions.keys().each{ k -> project.ext[k] = dependencyVersions[k]} // Use task types task buildTestingImage(type: DockerBuildImage) { - inputDir = file(project.rootDir) - dockerFile = file('images/geode-performance/Dockerfile') - tag = 'geode-performance-testing:latest' + inputDir = file(project.rootDir) + dockerFile = file('images/geode-performance/Dockerfile') + tag = 'geode-performance-testing:latest' } apply from: "gradle/spotless.gradle" diff --git a/etc/greclipse.properties b/etc/greclipse.properties new file mode 100644 index 000000000000..71693037b624 --- /dev/null +++ b/etc/greclipse.properties @@ -0,0 +1,34 @@ +#Whether to use 'space', 'tab' or 'mixed' (both) characters for indentation. +#The default value is 'tab'. +org.eclipse.jdt.core.formatter.tabulation.char=space + +#Number of spaces used for indentation in case 'space' characters +#have been selected. The default value is 4. +org.eclipse.jdt.core.formatter.tabulation.size=2 + +#Number of spaces used for indentation in case 'mixed' characters +#have been selected. The default value is 4. +org.eclipse.jdt.core.formatter.indentation.size=2 + +#Whether or not indentation characters are inserted into empty lines. +#The default value is 'true'. +org.eclipse.jdt.core.formatter.indent_empty_lines=false + +#Number of spaces used for multiline indentation. +#The default value is 2. +groovy.formatter.multiline.indentation=1 + +#Length after which list are considered too long. These will be wrapped. +#The default value is 30. +groovy.formatter.longListLength=30 + +#Whether opening braces position shall be the next line. +#The default value is 'same'. +groovy.formatter.braces.start=same + +#Whether closing braces position shall be the next line. +#The default value is 'next'. +groovy.formatter.braces.end=next + +#Remove unnecessary semicolons. The default value is 'false'. +groovy.formatter.remove.unnecessary.semicolons=true \ No newline at end of file diff --git a/geode-benchmarks/build.gradle b/geode-benchmarks/build.gradle index 3dab979450ff..fad80d1f1c9b 100644 --- a/geode-benchmarks/build.gradle +++ b/geode-benchmarks/build.gradle @@ -15,9 +15,7 @@ * limitations under the License. */ -plugins { - id 'java' -} +plugins { id 'java' } group 'org.apache.geode-benchmark' version '1.0-SNAPSHOT' @@ -28,62 +26,58 @@ def outputDir = project.hasProperty('outputDir') ? project.findProperty('outputD def geodeVersion = project.hasProperty('geodeVersion') ? project.findProperty('geodeVersion') : '1.+' def getDate() { - new Date().format('yyyyMMddHHmmss') + new Date().format('yyyyMMddHHmmss') } repositories { - mavenLocal() - mavenCentral() + mavenLocal() + mavenCentral() } dependencies { - compile(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version') - compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version') - compile(group: 'org.apache.geode', name: 'geode-core', version: geodeVersion) - compile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') - compile(project(':harness')) + compile(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version') + compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version') + compile(group: 'org.apache.geode', name: 'geode-core', version: geodeVersion) + compile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') + compile(project(':harness')) - // Required for missing dependency on geode-core. - runtime(group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830') + // Required for missing dependency on geode-core. + runtime(group: 'org.eclipse.jetty', name: 'jetty-webapp', version: '9.4.12.v20180830') - testCompile(group: 'org.mockito', name: 'mockito-all', version: project.'mockito-all.version') - testCompile(group: 'org.assertj', name: 'assertj-core', version: project.'assertj-core.version') + testCompile(group: 'org.mockito', name: 'mockito-all', version: project.'mockito-all.version') + testCompile(group: 'org.assertj', name: 'assertj-core', version: project.'assertj-core.version') } -test{ - useJUnitPlatform() -} +test{ useJUnitPlatform() } task benchmark(type: Test) { - if (project.hasProperty('testJVM') && !testJVM.trim().isEmpty()) { - executable = "${testJVM}/bin/java" - } - outputs.upToDateWhen { false } - testClassesDirs = project.sourceSets.main.output.classesDirs - classpath = project.sourceSets.main.runtimeClasspath - useJUnitPlatform() - testLogging { - exceptionFormat = 'full' - } - - exclude "**/Replicated*QueryBenchmark.class" - exclude "**/ReplicatedFunctionExecution*Benchmark.class" - exclude "**/PartitionedNonIndexedQueryBenchmark.class" - exclude "**/*PutAllBenchmark.class" - - forkEvery 1 - - systemProperty 'TEST_HOSTS', project.findProperty('hosts') - systemProperty 'TEST_METADATA', project.findProperty('metadata') - systemProperty 'OUTPUT_DIR', outputDir - systemProperty 'withSsl', project.hasProperty('withSsl') - systemProperty 'withSecurityManager', project.hasProperty('withSecurityManager') - systemProperty 'benchmark.profiler.argument', project.findProperty('benchmark.profiler.argument') - - doFirst { - if(!project.hasProperty('hosts')) { - throw new GradleException("You must set the hosts property to a comma separated list of hosts. Eg ./gradlew benchmark -Phosts=localhost,localhost,localhost") - } + if (project.hasProperty('testJVM') && !testJVM.trim().isEmpty()) { + executable = "${testJVM}/bin/java" + } + outputs.upToDateWhen { false } + testClassesDirs = project.sourceSets.main.output.classesDirs + classpath = project.sourceSets.main.runtimeClasspath + useJUnitPlatform() + testLogging { exceptionFormat = 'full' } + + exclude "**/Replicated*QueryBenchmark.class" + exclude "**/ReplicatedFunctionExecution*Benchmark.class" + exclude "**/PartitionedNonIndexedQueryBenchmark.class" + exclude "**/*PutAllBenchmark.class" + + forkEvery 1 + + systemProperty 'TEST_HOSTS', project.findProperty('hosts') + systemProperty 'TEST_METADATA', project.findProperty('metadata') + systemProperty 'OUTPUT_DIR', outputDir + systemProperty 'withSsl', project.hasProperty('withSsl') + systemProperty 'withSecurityManager', project.hasProperty('withSecurityManager') + systemProperty 'benchmark.profiler.argument', project.findProperty('benchmark.profiler.argument') + + doFirst { + if(!project.hasProperty('hosts')) { + throw new GradleException("You must set the hosts property to a comma separated list of hosts. Eg ./gradlew benchmark -Phosts=localhost,localhost,localhost") } + } } diff --git a/gradle/rat.gradle b/gradle/rat.gradle index 89fb7d90c70b..1b23e693ac18 100644 --- a/gradle/rat.gradle +++ b/gradle/rat.gradle @@ -18,62 +18,57 @@ apply plugin: "org.nosphere.apache.rat" rat { - excludes = [ - '.travis.yml', - '.git/**', - '**/output/**', - '**/output-*/**', - '**/build/**', - '**/out/**', - 'README.md', - - // IDE - 'etc/eclipse-java-google-style.xml', - 'etc/intellij-java-modified-google-style.xml', - 'etc/eclipseOrganizeImports.importorder', - '**/.project', - '**/.classpath', - '**/.settings/**', - '**/build-eclipse/**', - '**/*.iml', - '**/*.ipr', - '**/*.iws', - '.idea/**', - '**/tags', - '**/out/**', - - // gradle - '**/.gradle/**', - '.gradle/**', - 'gradlew*', - 'gradle/**', - 'gradle/wrapper/gradle-wrapper.properties', - 'caches/**', - 'daemon/**', - 'native/**', - 'wrapper/**', - '**/build/**', - '**/build-*/**', - '.buildinfo', - - // text files - '**/*.fig', - '**/*.txt', - '**/*.md', - '**/*.json', - '**/*.tx0', - '**/*.txo', - '**/*.log', - '**/*.patch', - '**/*.diff', - '**/*.rej', - '**/*.orig', - '**/*.MF', - '**/*.cfg', - - ] + excludes = [ + '.travis.yml', + '.git/**', + '**/output/**', + '**/output-*/**', + '**/build/**', + '**/out/**', + 'README.md', + // IDE + 'etc/eclipse-java-google-style.xml', + 'etc/intellij-java-modified-google-style.xml', + 'etc/eclipseOrganizeImports.importorder', + 'etc/greclipse.properties', + '**/.project', + '**/.classpath', + '**/.settings/**', + '**/build-eclipse/**', + '**/*.iml', + '**/*.ipr', + '**/*.iws', + '.idea/**', + '**/tags', + '**/out/**', + // gradle + '**/.gradle/**', + '.gradle/**', + 'gradlew*', + 'gradle/**', + 'gradle/wrapper/gradle-wrapper.properties', + 'caches/**', + 'daemon/**', + 'native/**', + 'wrapper/**', + '**/build/**', + '**/build-*/**', + '.buildinfo', + // text files + '**/*.fig', + '**/*.txt', + '**/*.md', + '**/*.json', + '**/*.tx0', + '**/*.txo', + '**/*.log', + '**/*.patch', + '**/*.diff', + '**/*.rej', + '**/*.orig', + '**/*.MF', + '**/*.cfg', + ] } -subprojects { - check.dependsOn rat -} +subprojects { check.dependsOn rat } diff --git a/gradle/resolve-dependencies.gradle b/gradle/resolve-dependencies.gradle index fa67a451ea69..ed1ef034b8c6 100644 --- a/gradle/resolve-dependencies.gradle +++ b/gradle/resolve-dependencies.gradle @@ -18,12 +18,8 @@ task resolveDependencies { doLast { project.rootProject.allprojects.each { subProject -> - subProject.buildscript.configurations.each { configuration -> - resolveConfiguration(configuration) - } - subProject.configurations.each { configuration -> - resolveConfiguration(configuration) - } + subProject.buildscript.configurations.each { configuration -> resolveConfiguration(configuration) } + subProject.configurations.each { configuration -> resolveConfiguration(configuration) } } } } diff --git a/gradle/spotless.gradle b/gradle/spotless.gradle index f636e3837da6..b06b63169384 100644 --- a/gradle/spotless.gradle +++ b/gradle/spotless.gradle @@ -15,123 +15,134 @@ * limitations under the License. */ -subprojects { - apply plugin: "com.diffplug.gradle.spotless" - spotless { - lineEndings = 'unix' - java { - target project.fileTree(project.projectDir) { - include '**/*.java' - exclude '**/generated-src/**' - exclude '**/build/**' - } - - - // As the method name suggests, bump this number if any of the below "custom" rules change. - // Spotless will not run on unchanged files unless this number changes. - bumpThisNumberIfACustomStepChanges(0) - - removeUnusedImports() - - custom 'Remove commented-out import statements', { - it.replaceAll(/\n\/\/ import .*?;.*/, '') - } - custom 'Refuse wildcard imports', { - // Wildcard imports can't be resolved by spotless itself. - // This will require the developer themselves to adhere to best practices. - if (it =~ /\nimport .*\*;/) { - throw new AssertionError("Do not use wildcard imports. 'spotlessApply' cannot resolve this issue.") - } - } - - importOrderFile "${rootProject.projectDir}/etc/eclipseOrganizeImports.importorder" - - custom 'Remove unhelpful javadoc stubs', { - // e.g., remove the following lines: - // "* @param paramName" - // "* @throws ExceptionType" - // "* @return returnType"' - // Multiline to allow anchors on newlines - it.replaceAll(/(?m)^ *\* *@(?:param|throws|return) *\w* *\n/, '') - } - custom 'Remove any empty Javadocs and block comments', { - // Matches any /** [...] */ or /* [...] */ that contains: - // (a) only whitespace - // (b) trivial information, such as "@param paramName" or @throws ExceptionType - // without any additional information. This information is implicit in the signature. - it.replaceAll(/\/\*+\s*\n(\s*\*\s*\n)*\s*\*+\/\s*\n/, '') - } - - // Enforce style modifier order - custom 'Modifier ordering', { - def modifierRanking = [ - "public" : 1, - "protected" : 2, - "private" : 3, - "abstract" : 4, - "default" : 5, - "static" : 6, - "final" : 7, - "transient" : 8, - "volatile" : 9, - "synchronized": 10, - "native" : 11, - "strictfp" : 12] - // Find any instance of multiple modifiers. Lead with a non-word character to avoid - // accidental matching against for instance, "an alternative default value" - it.replaceAll(/\W(?:public |protected |private |abstract |default |static |final |transient |volatile |synchronized |native |strictfp ){2,}/, { - // Do not replace the leading non-word character. Identify the modifiers - it.replaceAll(/(?:public |protected |private |abstract |default |static |final |transient |volatile |synchronized |native |strictfp ){2,}/, { - // Sort the modifiers according to the ranking above - it.split().sort({ modifierRanking[it] }).join(' ') + ' ' - } - ) - } - ) - } - - - // Notes on eclipse formatter version: - // 4.6.3 is consistent with existing / previous behavior. - // 4.7.1 works, but had different default whitespace rules, notably with mid-ternary linebreak. - // 4.7.2 exists but is currently incompatible with our style file, raising NPEs. - - eclipse('4.6.3').configFile "${rootProject.projectDir}/etc/eclipse-java-google-style.xml" - trimTrailingWhitespace() - endWithNewline() +allprojects { + apply plugin: "com.diffplug.gradle.spotless" + spotless { + lineEndings = 'unix' + java { + target project.fileTree(project.projectDir) { + include 'src/**/*.java' + include 'buildSrc/**/*.java' + } + + + // As the method name suggests, bump this number if any of the below "custom" rules change. + // Spotless will not run on unchanged files unless this number changes. + bumpThisNumberIfACustomStepChanges(0) + + removeUnusedImports() + + custom 'Remove commented-out import statements', { + it.replaceAll(/\n\/\/ import .*?;.*/, '') + } + custom 'Refuse wildcard imports', { + // Wildcard imports can't be resolved by spotless itself. + // This will require the developer themselves to adhere to best practices. + if (it =~ /\nimport .*\*;/) { + throw new AssertionError("Do not use wildcard imports. 'spotlessApply' cannot resolve this issue.") } - groovyGradle { - target project.fileTree(project.projectDir) { - include '**/*.gradle' - exclude '**/generated-src/**' - exclude '**/build/**' - } - - // As the method name suggests, bump this number if any of the below "custom" rules change. - // Spotless will not run on unchanged files unless this number changes. - bumpThisNumberIfACustomStepChanges(0) - - 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 -> - "\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(') - } - - indentWithSpaces(2) + } + + importOrderFile "${rootProject.projectDir}/etc/eclipseOrganizeImports.importorder" + + custom 'Remove unhelpful javadoc stubs', { + // e.g., remove the following lines: + // "* @param paramName" + // "* @throws ExceptionType" + // "* @return returnType"' + // Multiline to allow anchors on newlines + it.replaceAll(/(?m)^ *\* *@(?:param|throws|return) *\w* *\n/, '') + } + custom 'Remove any empty Javadocs and block comments', { + // Matches any /** [...] */ or /* [...] */ that contains: + // (a) only whitespace + // (b) trivial information, such as "@param paramName" or @throws ExceptionType + // without any additional information. This information is implicit in the signature. + it.replaceAll(/\/\*+\s*\n(\s*\*\s*\n)*\s*\*+\/\s*\n/, '') + } + + // Enforce style modifier order + custom 'Modifier ordering', { + def modifierRanking = [ + "public" : 1, + "protected" : 2, + "private" : 3, + "abstract" : 4, + "default" : 5, + "static" : 6, + "final" : 7, + "transient" : 8, + "volatile" : 9, + "synchronized": 10, + "native" : 11, + "strictfp" : 12] + // Find any instance of multiple modifiers. Lead with a non-word character to avoid + // accidental matching against for instance, "an alternative default value" + it.replaceAll(/\W(?:public |protected |private |abstract |default |static |final |transient |volatile |synchronized |native |strictfp ){2,}/, { + // Do not replace the leading non-word character. Identify the modifiers + it.replaceAll(/(?:public |protected |private |abstract |default |static |final |transient |volatile |synchronized |native |strictfp ){2,}/, { + // Sort the modifiers according to the ranking above + it.split().sort({ modifierRanking[it] }).join(' ') + ' ' + } + ) } - } + ) + } + + + // Notes on eclipse formatter version: + // 4.6.3 is consistent with existing / previous behavior. + // 4.7.1 works, but had different default whitespace rules, notably with mid-ternary linebreak. + // 4.7.2 exists but is currently incompatible with our style file, raising NPEs. - // If we add more languages to Spotless, add them to 'compileXYZ' trigger below - afterEvaluate { - project.tasks['compileJava'].mustRunAfter(spotlessCheck) - project.tasks['compileJava'].mustRunAfter(spotlessApply) + eclipse('4.6.3').configFile "${rootProject.projectDir}/etc/eclipse-java-google-style.xml" + trimTrailingWhitespace() + endWithNewline() + } + groovyGradle { + target project.fileTree(project.projectDir) { + include '*.gradle' + include 'buildSrc/*.gradle' + include 'gradle/*.gradle' + } + + // As the method name suggests, bump this number if any of the below "custom" rules change. + // Spotless will not run on unchanged files unless this number changes. + bumpThisNumberIfACustomStepChanges(0) + + 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 -> + "\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(') + } + + greclipse().configFile "${rootProject.projectDir}/etc/greclipse.properties" + paddedCell() + indentWithSpaces(2) + } + groovy { + target project.fileTree(project.projectDir) { + include 'src/**/*.groovy' + include 'buildSrc/**/*.groovy' + } + greclipse().configFile "${rootProject.projectDir}/etc/greclipse.properties" + indentWithSpaces(2) + paddedCell() } + } + + // If we add more languages to Spotless, add them to 'compileXYZ' trigger below + afterEvaluate { + // Not all projects are java projects. findByName could return null, so use the null-safe ?. operator + project.tasks.findByName('compileJava')?.mustRunAfter(spotlessCheck) + project.tasks.findByName('compileJava')?.mustRunAfter(spotlessApply) + } } \ No newline at end of file diff --git a/harness/build.gradle b/harness/build.gradle index e6b45e8d4be9..7ee295141224 100644 --- a/harness/build.gradle +++ b/harness/build.gradle @@ -15,9 +15,7 @@ * limitations under the License. */ -plugins { - id 'java' -} +plugins { id 'java' } group 'org.apache.geode-benchmark' version '1.0-SNAPSHOT' @@ -28,39 +26,37 @@ def geodeVersion = project.hasProperty('geodeVersion') ? project.findProperty('g def isCI = project.hasProperty('ci') ? project.findProperty('ci') : 0 repositories { - mavenLocal() - mavenCentral() + mavenLocal() + mavenCentral() } task(analyzeRun, dependsOn: 'classes', type: JavaExec) { - main = 'org.apache.geode.perftest.analysis.Analyzer' - workingDir = rootDir - classpath = sourceSets.main.runtimeClasspath - systemProperty 'TEST_CI', isCI + main = 'org.apache.geode.perftest.analysis.Analyzer' + workingDir = rootDir + classpath = sourceSets.main.runtimeClasspath + systemProperty 'TEST_CI', isCI } dependencies { - compile(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version') - compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version') - compile(group: 'com.hierynomus', name: 'sshj', version: project.'sshj.version') - compile(group: 'commons-io', name: 'commons-io', version: project.'commons-io.version') - compile(group: 'org.yardstickframework', name: 'yardstick', version: project.'yardstick.version') - compile(group: 'org.hdrhistogram', name: 'HdrHistogram', version: project.'HdrHistogram.version') - compile(group: 'org.json', name: 'json', version: project.'JSON.version') - compile(group: 'org.apache.geode', name: 'geode-core', version: geodeVersion) - testCompile(group: 'org.mockito', name: 'mockito-all', version: project.'mockito-all.version') - testCompile(group: 'org.awaitility', name: 'awaitility', version: project.'awaitility.version') - testCompile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') - testCompile(group: 'org.apache.sshd', name: 'sshd-core', version: project.'sshd-core.version') - testCompile(group: 'org.assertj', name: 'assertj-core', version: project.'assertj-core.version') + compile(group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: project.'junit-jupiter-engine.version') + compile(group: 'org.junit-pioneer', name: 'junit-pioneer', version: project.'junit-pioneer.version') + compile(group: 'com.hierynomus', name: 'sshj', version: project.'sshj.version') + compile(group: 'commons-io', name: 'commons-io', version: project.'commons-io.version') + compile(group: 'org.yardstickframework', name: 'yardstick', version: project.'yardstick.version') + compile(group: 'org.hdrhistogram', name: 'HdrHistogram', version: project.'HdrHistogram.version') + compile(group: 'org.json', name: 'json', version: project.'JSON.version') + compile(group: 'org.apache.geode', name: 'geode-core', version: geodeVersion) + testCompile(group: 'org.mockito', name: 'mockito-all', version: project.'mockito-all.version') + testCompile(group: 'org.awaitility', name: 'awaitility', version: project.'awaitility.version') + testCompile(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') + testCompile(group: 'org.apache.sshd', name: 'sshd-core', version: project.'sshd-core.version') + testCompile(group: 'org.assertj', name: 'assertj-core', version: project.'assertj-core.version') } compileJava { - options.fork = true - options.forkOptions.executable = 'javac' - options.compilerArgs << '-XDignore.symbol.file' + options.fork = true + options.forkOptions.executable = 'javac' + options.compilerArgs << '-XDignore.symbol.file' } -test{ - useJUnitPlatform() -} +test{ useJUnitPlatform() } diff --git a/infrastructure/build.gradle b/infrastructure/build.gradle index 16eef2161308..7fc88191f649 100644 --- a/infrastructure/build.gradle +++ b/infrastructure/build.gradle @@ -15,51 +15,45 @@ * limitations under the License. */ -plugins { - id 'java' -} +plugins { id 'java' } version '1.0-SNAPSHOT' sourceCompatibility = 1.8 -repositories { - mavenCentral() -} +repositories { mavenCentral() } dependencies { - implementation(group: 'org.json', name: 'json', version: project.'JSON.version') - implementation 'software.amazon.awssdk:ec2' - implementation(group: 'com.hierynomus', name: 'sshj', version: project.'sshj.version') - runtime(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') + implementation(group: 'org.json', name: 'json', version: project.'JSON.version') + implementation 'software.amazon.awssdk:ec2' + implementation(group: 'com.hierynomus', name: 'sshj', version: project.'sshj.version') + runtime(group: 'org.slf4j', name: 'slf4j-simple', version: project.'slf4j-simple.version') } apply plugin: "io.spring.dependency-management" dependencyManagement { - imports { - mavenBom 'software.amazon.awssdk:bom:' + project.'software-amazon-awssdk.version' - } + imports { mavenBom 'software.amazon.awssdk:bom:' + project.'software-amazon-awssdk.version' } } task(launchCluster, dependsOn: 'classes', type: JavaExec) { - main = 'org.apache.geode.infrastructure.aws.LaunchCluster' - workingDir = rootDir - classpath = sourceSets.main.runtimeClasspath + main = 'org.apache.geode.infrastructure.aws.LaunchCluster' + workingDir = rootDir + classpath = sourceSets.main.runtimeClasspath - systemProperty 'TEST_CI', project.findProperty('ci') + systemProperty 'TEST_CI', project.findProperty('ci') } task(destroyCluster, dependsOn: 'classes', type: JavaExec) { - main = 'org.apache.geode.infrastructure.aws.DestroyCluster' - workingDir = rootDir - classpath = sourceSets.main.runtimeClasspath + main = 'org.apache.geode.infrastructure.aws.DestroyCluster' + workingDir = rootDir + classpath = sourceSets.main.runtimeClasspath - systemProperty 'TEST_CI', project.findProperty('ci') + systemProperty 'TEST_CI', project.findProperty('ci') } task(expireClusters, dependsOn: 'classes', type: JavaExec) { - main = 'org.apache.geode.infrastructure.aws.ExpireClusters' - workingDir = rootDir - classpath = sourceSets.main.runtimeClasspath + main = 'org.apache.geode.infrastructure.aws.ExpireClusters' + workingDir = rootDir + classpath = sourceSets.main.runtimeClasspath }