This is an automated email from the ASF dual-hosted git repository. jbarrett 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 b3cf86b GEODE-5604 Update gradle syntax to comply with 5.0 (#2350) b3cf86b is described below commit b3cf86b7f8b0e27abe9ffc4cdb0fd18b7df0c3e2 Author: Robert Houghton <rhough...@pivotal.io> AuthorDate: Tue Aug 28 14:58:21 2018 -0700 GEODE-5604 Update gradle syntax to comply with 5.0 (#2350) * Fix subproject names for gradle 5.0 ** stop using '/' and use preferred ':' character for nested projects * Update performance profiling plug-in to be Gradle 5.0 compliant * Fix input/output warnings on geode-old-versions * Don't use custom configuration in geode-modules-assembly * All test configurations inherit annotationProcessor from mainSourceSet * Using strict maven-publish plugin Co-authored-by: Dick Cavender <dcaven...@pivotal.io> Co-authored-by: Jacob Barrett <jbarr...@pivotal.io> Co-authored-by: Patrick Rhomberg <prhomb...@pivotal.io> Co-authored-by: Robert Houghton <rhough...@pivotal.io> --- build.gradle | 4 +- buildSrc/build.gradle | 10 ++- extensions/geode-modules-assembly/build.gradle | 40 ++++------ .../geode-modules-session-internal/build.gradle | 2 +- extensions/geode-modules-session/build.gradle | 2 +- extensions/geode-modules-test/build.gradle | 2 +- extensions/geode-modules-tomcat7/build.gradle | 4 +- extensions/geode-modules-tomcat8/build.gradle | 4 +- extensions/geode-modules/build.gradle | 2 +- geode-assembly/build.gradle | 29 +++---- geode-assembly/geode-assembly-test/build.gradle | 2 +- geode-connectors/build.gradle | 2 +- geode-core/build.gradle | 7 +- geode-cq/build.gradle | 1 + geode-lucene/build.gradle | 8 +- geode-old-client-support/build.gradle | 2 +- geode-old-versions/build.gradle | 4 +- geode-protobuf/build.gradle | 7 +- geode-pulse/build.gradle | 4 +- geode-web-api/build.gradle | 1 + gradle/ide.gradle | 16 ++-- gradle/java.gradle | 8 ++ gradle/publish.gradle | 90 +++++++++++----------- gradle/sonar.gradle | 8 +- gradle/test.gradle | 28 +++++-- settings.gradle | 29 ++++--- 26 files changed, 176 insertions(+), 140 deletions(-) diff --git a/build.gradle b/build.gradle index 3539e79..5e94551 100755 --- a/build.gradle +++ b/build.gradle @@ -28,7 +28,7 @@ buildscript { classpath 'com.bmuschko:gradle-nexus-plugin:2.3.1' classpath 'org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:2.6.2' classpath "com.diffplug.spotless:spotless-plugin-gradle:3.10.0" - classpath "me.champeau.gradle:jmh-gradle-plugin:0.3.1" + classpath "me.champeau.gradle:jmh-gradle-plugin:0.4.7" classpath "com.pedjak.gradle.plugins:dockerized-test:0.5.6.2-SNAPSHOT" classpath 'com.github.ben-manes:gradle-versions-plugin:0.17.0' classpath "com.netflix.nebula:nebula-project-plugin:4.0.1" @@ -76,13 +76,13 @@ if (name == 'geode') { // utilities.gradle MUST be read before publish.gradle for reasons apply from: "${scriptDir}/utilities.gradle" apply from: "${scriptDir}/java.gradle" +apply from: "${scriptDir}/ide.gradle" apply from: "${scriptDir}/dependency-resolution.gradle" apply from: "${scriptDir}/test.gradle" apply from: "${scriptDir}/test-by-category.gradle" apply from: "${scriptDir}/publish.gradle" apply from: "${scriptDir}/code-analysis.gradle" apply from: "${scriptDir}/sonar.gradle" -apply from: "${scriptDir}/ide.gradle" apply from: "${scriptDir}/rat.gradle" apply from: "${scriptDir}/docker.gradle" apply from: "${scriptDir}/spotless.gradle" diff --git a/buildSrc/build.gradle b/buildSrc/build.gradle index 21cf963..31959ae 100644 --- a/buildSrc/build.gradle +++ b/buildSrc/build.gradle @@ -21,7 +21,13 @@ repositories { } dependencies { - compile group: 'org.apache.geode', name: 'geode-junit', version: '1.3.0' + compile (group: 'org.apache.geode', name: 'geode-junit', version: '1.3.0') { + exclude group: 'org.apache.logging.log4j' + } + compile group: 'junit', name: 'junit', version: '4.12' compile files("${System.getProperty('java.home')}/../lib/tools.jar") -} \ No newline at end of file + + testAnnotationProcessor this.project + +} diff --git a/extensions/geode-modules-assembly/build.gradle b/extensions/geode-modules-assembly/build.gradle index 10a427a..0952c93 100644 --- a/extensions/geode-modules-assembly/build.gradle +++ b/extensions/geode-modules-assembly/build.gradle @@ -19,7 +19,6 @@ import org.apache.tools.ant.filters.ReplaceTokens configurations { slf4jDeps - moduleDistOutputs } dependencies { @@ -51,9 +50,9 @@ def configureTcServerAssembly = { // All client-server files into('geode-cs/lib') { - from getJarArtifact(':extensions/geode-modules') - from getJarArtifact(':extensions/geode-modules-tomcat7') - from getJarArtifact(':extensions/geode-modules-tomcat8') + from getJarArtifact(':extensions:geode-modules') + from getJarArtifact(':extensions:geode-modules-tomcat7') + from getJarArtifact(':extensions:geode-modules-tomcat8') from configurations.slf4jDeps } into('geode-cs/bin') { @@ -84,9 +83,9 @@ def configureTcServerAssembly = { } // All peer-to-peer files into('geode-p2p/lib') { - from getJarArtifact(':extensions/geode-modules') - from getJarArtifact(':extensions/geode-modules-tomcat7') - from getJarArtifact(':extensions/geode-modules-tomcat8') + from getJarArtifact(':extensions:geode-modules') + from getJarArtifact(':extensions:geode-modules-tomcat7') + from getJarArtifact(':extensions:geode-modules-tomcat8') from configurations.slf4jDeps } into('geode-p2p/bin') { @@ -147,15 +146,15 @@ def configureTcServer30Assembly = { } } -task distTomcat(type: Zip, dependsOn: [':extensions/geode-modules:jar', ':extensions/geode-modules-tomcat7:jar', ':extensions/geode-modules-tomcat8:jar']) { +task distTomcat(type: Zip, dependsOn: [':extensions:geode-modules:jar', ':extensions:geode-modules-tomcat7:jar', ':extensions:geode-modules-tomcat8:jar']) { baseName = moduleBaseName classifier = "Tomcat" // All client-server files into('lib') { - from getJarArtifact(':extensions/geode-modules') - from getJarArtifact(':extensions/geode-modules-tomcat7') - from getJarArtifact(':extensions/geode-modules-tomcat8') + from getJarArtifact(':extensions:geode-modules') + from getJarArtifact(':extensions:geode-modules-tomcat7') + from getJarArtifact(':extensions:geode-modules-tomcat8') from configurations.slf4jDeps } into('bin') { @@ -171,14 +170,14 @@ task distTomcat(type: Zip, dependsOn: [':extensions/geode-modules:jar', ':extens } } -task distAppServer(type: Zip, dependsOn: [':extensions/geode-modules-session:jar', ':extensions/geode-modules-tomcat7:jar', ':extensions/geode-modules-tomcat8:jar']) { +task distAppServer(type: Zip, dependsOn: [':extensions:geode-modules-session:jar', ':extensions:geode-modules-session-internal:jar', ':extensions:geode-modules-tomcat7:jar', ':extensions:geode-modules-tomcat8:jar']) { baseName = moduleBaseName classifier = "AppServer" into('lib') { - from getJarArtifact(':extensions/geode-modules-session') - from getJarArtifact(':extensions/geode-modules-session-internal') - from getJarArtifact(':extensions/geode-modules') + from getJarArtifact(':extensions:geode-modules-session') + from getJarArtifact(':extensions:geode-modules-session-internal') + from getJarArtifact(':extensions:geode-modules') from configurations.slf4jDeps } @@ -204,22 +203,15 @@ task distAppServer(type: Zip, dependsOn: [':extensions/geode-modules-session:jar } } -task distTcServer(type: Zip, dependsOn: [':extensions/geode-modules:assemble', ':extensions/geode-modules-tomcat7:assemble', ':extensions/geode-modules-tomcat8:assemble'] ) { +task distTcServer(type: Zip, dependsOn: [':extensions:geode-modules:assemble', ':extensions:geode-modules-tomcat7:assemble', ':extensions:geode-modules-tomcat8:assemble'] ) { configure(configureTcServerAssembly) } -task distTcServer30(type: Zip, dependsOn: [':extensions/geode-modules:assemble', ':extensions/geode-modules-tomcat7:assemble', ':extensions/geode-modules-tomcat8:assemble']) { +task distTcServer30(type: Zip, dependsOn: [':extensions:geode-modules:assemble', ':extensions:geode-modules-tomcat7:assemble', ':extensions:geode-modules-tomcat8:assemble']) { configure(configureTcServerAssembly) configure(configureTcServer30Assembly) } -dependencies { - moduleDistOutputs distTcServer.outputs.files - moduleDistOutputs distTcServer30.outputs.files - moduleDistOutputs distAppServer.outputs.files - moduleDistOutputs distTomcat.outputs.files -} - task dist(type: Task, dependsOn: ['distTcServer', 'distTcServer30', 'distTomcat', 'distAppServer']) build.dependsOn dist diff --git a/extensions/geode-modules-session-internal/build.gradle b/extensions/geode-modules-session-internal/build.gradle index 39c6e55..e1dcc1c 100644 --- a/extensions/geode-modules-session-internal/build.gradle +++ b/extensions/geode-modules-session-internal/build.gradle @@ -16,7 +16,7 @@ */ dependencies { - compile project(':extensions/geode-modules') + compile project(':extensions:geode-modules') compile project(':geode-core') } diff --git a/extensions/geode-modules-session/build.gradle b/extensions/geode-modules-session/build.gradle index b18a4ce..7ac631c 100644 --- a/extensions/geode-modules-session/build.gradle +++ b/extensions/geode-modules-session/build.gradle @@ -18,7 +18,7 @@ evaluationDependsOn(":geode-core") dependencies { - compile project(':extensions/geode-modules-session-internal') + compile project(':extensions:geode-modules-session-internal') compile project(':geode-core') integrationTestCompile project(":geode-dunit") diff --git a/extensions/geode-modules-test/build.gradle b/extensions/geode-modules-test/build.gradle index 3084802..0ac2b6b 100644 --- a/extensions/geode-modules-test/build.gradle +++ b/extensions/geode-modules-test/build.gradle @@ -22,7 +22,7 @@ dependencies { exclude module: 'tribes' } - compile(project(':extensions/geode-modules')) { + compile(project(':extensions:geode-modules')) { // Remove everything related to Tomcat 6.x exclude group: 'org.apache.tomcat' } diff --git a/extensions/geode-modules-tomcat7/build.gradle b/extensions/geode-modules-tomcat7/build.gradle index e1dd8c7..52c53b1 100644 --- a/extensions/geode-modules-tomcat7/build.gradle +++ b/extensions/geode-modules-tomcat7/build.gradle @@ -18,7 +18,7 @@ evaluationDependsOn(":geode-core") dependencies { - compile(project(':extensions/geode-modules')) { + compile(project(':extensions:geode-modules')) { // Remove everything related to Tomcat 6.x exclude group: 'org.apache.tomcat' } @@ -33,7 +33,7 @@ dependencies { compile 'org.apache.tomcat:tomcat-juli:' + project.'tomcat7.version' integrationTestCompile project(":geode-dunit") - integrationTestCompile project(":extensions/geode-modules-test") + integrationTestCompile project(":extensions:geode-modules-test") integrationTestRuntime 'javax.annotation:jsr250-api:' + project.'javax.jsr250-api.version' integrationTestRuntime 'javax.ejb:ejb-api:' + project.'javax.ejb-api.version' diff --git a/extensions/geode-modules-tomcat8/build.gradle b/extensions/geode-modules-tomcat8/build.gradle index 75fd1af..2918cb6 100644 --- a/extensions/geode-modules-tomcat8/build.gradle +++ b/extensions/geode-modules-tomcat8/build.gradle @@ -18,7 +18,7 @@ evaluationDependsOn(":geode-core") dependencies { - compile(project(':extensions/geode-modules')) { + compile(project(':extensions:geode-modules')) { exclude group: 'org.apache.tomcat' } @@ -32,7 +32,7 @@ dependencies { compile 'org.apache.tomcat:tomcat-juli:' + project.'tomcat8.version' compile 'javax.servlet:javax.servlet-api:' + '3.1.0' - distributedTestCompile project(":extensions/geode-modules-test") + distributedTestCompile project(":extensions:geode-modules-test") eclipse.classpath.file { whenMerged { classpath -> diff --git a/extensions/geode-modules/build.gradle b/extensions/geode-modules/build.gradle index 3df7a6e..7083b83 100644 --- a/extensions/geode-modules/build.gradle +++ b/extensions/geode-modules/build.gradle @@ -30,7 +30,7 @@ dependencies { testCompile 'org.apache.bcel:bcel:' + project.'bcel.version' integrationTestCompile project(":geode-dunit") - integrationTestCompile project(":extensions/geode-modules-test") + integrationTestCompile project(":extensions:geode-modules-test") integrationTestRuntime 'org.apache.tomcat:coyote:' + project.'tomcat6.version' } diff --git a/geode-assembly/build.gradle b/geode-assembly/build.gradle index c324e21..a20dee7 100755 --- a/geode-assembly/build.gradle +++ b/geode-assembly/build.gradle @@ -29,7 +29,7 @@ extraArchive { publishing { publications { - maven { + maven(MavenPublication) { artifactId = 'apache-geode' artifacts = [] @@ -101,16 +101,16 @@ dependencies { integrationTestCompile project(":geode-junit") integrationTestCompile project(":geode-dunit") integrationTestCompile project(":geode-pulse") - integrationTestCompile project(':geode-assembly/geode-assembly-test') + integrationTestCompile project(':geode-assembly:geode-assembly-test') integrationTestCompile 'org.apache.httpcomponents:httpclient:' + project.'httpclient.version' distributedTestCompile project(':geode-core') - distributedTestCompile project(':extensions/session-testing-war') - distributedTestCompile project(':geode-assembly/geode-assembly-test') + distributedTestCompile project(':extensions:session-testing-war') + distributedTestCompile project(':geode-assembly:geode-assembly-test') distributedTestCompile 'org.apache.httpcomponents:httpclient:' + project.'httpclient.version' - distributedTestRuntime (project(':extensions/geode-modules-session-internal')) { + distributedTestRuntime (project(':extensions:geode-modules-session-internal')) { exclude group: 'org.apache.tomcat' } distributedTestRuntime group: 'org.codehaus.cargo', name: 'cargo-core-uberjar', version: '1.6.3' @@ -123,8 +123,8 @@ dependencies { uiTestCompile project(':geode-core') uiTestCompile project(":geode-dunit") uiTestCompile project(":geode-pulse") - uiTestCompile project(":geode-pulse/geode-pulse-test") - uiTestCompile project(':geode-assembly/geode-assembly-test') + uiTestCompile project(":geode-pulse:geode-pulse-test") + uiTestCompile project(':geode-assembly:geode-assembly-test') uiTestCompile 'org.seleniumhq.selenium:selenium-api:' + project.'selenium.version' uiTestCompile 'org.seleniumhq.selenium:selenium-remote-driver:' + project.'selenium.version' uiTestCompile 'org.seleniumhq.selenium:selenium-support:' + project.'selenium.version' @@ -135,11 +135,11 @@ dependencies { upgradeTestCompile project(':geode-core') upgradeTestCompile project(":geode-dunit") - upgradeTestCompile project(':geode-assembly/geode-assembly-test') + upgradeTestCompile project(':geode-assembly:geode-assembly-test') upgradeTestRuntime group: 'org.codehaus.cargo', name: 'cargo-core-uberjar', version: '1.6.3' upgradeTestRuntime 'org.apache.httpcomponents:httpclient:' + project.'httpclient.version' - upgradeTestRuntime project(':extensions/session-testing-war') + upgradeTestRuntime project(':extensions:session-testing-war') gfshDependencies ('org.springframework:spring-web:' + project.'springframework.version'){ @@ -444,7 +444,10 @@ distributions { } into ('tools/Modules') { - from (project(':extensions/geode-modules-assembly').configurations.moduleDistOutputs.files) + from {project(':extensions:geode-modules-assembly').distTcServer} + from {project(':extensions:geode-modules-assembly').distTcServer30} + from {project(':extensions:geode-modules-assembly').distTomcat} + from {project(':extensions:geode-modules-assembly').distAppServer} } } } @@ -470,10 +473,10 @@ repeatTest dependOnInstalledProduct // Make build final task to generate all test and product resources build.dependsOn installDist -installDist.dependsOn ':extensions/geode-modules-assembly:dist' -distributedTest.dependsOn ':extensions/session-testing-war:war' +installDist.dependsOn ':extensions:geode-modules-assembly:dist' +distributedTest.dependsOn ':extensions:session-testing-war:war' distributedTest.dependsOn ':geode-old-versions:build' -upgradeTest.dependsOn ':extensions/session-testing-war:war' +upgradeTest.dependsOn ':extensions:session-testing-war:war' upgradeTest.dependsOn ':geode-old-versions:build' /**Print the names of all jar files in a fileTree */ diff --git a/geode-assembly/geode-assembly-test/build.gradle b/geode-assembly/geode-assembly-test/build.gradle index 7ae92d1..8111687 100755 --- a/geode-assembly/geode-assembly-test/build.gradle +++ b/geode-assembly/geode-assembly-test/build.gradle @@ -20,7 +20,7 @@ dependencies { compileOnly project(':geode-core') compileOnly project(':geode-pulse') - compileOnly project(':extensions/geode-modules-test') + compileOnly project(':extensions:geode-modules-test') compileOnly group: 'org.codehaus.cargo', name: 'cargo-core-uberjar', version: '1.6.3' compileOnly 'org.assertj:assertj-core:' + project.'assertj-core.version' diff --git a/geode-connectors/build.gradle b/geode-connectors/build.gradle index 8b1035e..0880809 100644 --- a/geode-connectors/build.gradle +++ b/geode-connectors/build.gradle @@ -44,4 +44,4 @@ dependencies { acceptanceTestRuntime group: 'org.postgresql', name: 'postgresql', version: '42.2.2' } -integrationTest.forkEvery 0 \ No newline at end of file +integrationTest.forkEvery 0 diff --git a/geode-core/build.gradle b/geode-core/build.gradle index 14db4c8..d4a08df 100755 --- a/geode-core/build.gradle +++ b/geode-core/build.gradle @@ -140,6 +140,9 @@ dependencies { compile project(':geode-json') + jcaAnnotationProcessor 'org.apache.logging.log4j:log4j-core:' + project.'log4j.version' + + jcaCompile sourceSets.main.output @@ -224,7 +227,9 @@ task createVersionPropertiesFile { } // onlyIf takes precedence, but we should generate the file whenever the revision is specified. outputs.upToDateWhen { false } - outputs.file propertiesFile + outputs.files { + propertiesFile + } doLast { def props = [ diff --git a/geode-cq/build.gradle b/geode-cq/build.gradle index dd4c128..c4eeaa9 100644 --- a/geode-cq/build.gradle +++ b/geode-cq/build.gradle @@ -23,6 +23,7 @@ dependencies { integrationTestCompile project(":geode-dunit") + upgradeTestCompile (project(":geode-dunit")) { exclude module: 'geode-core' } diff --git a/geode-lucene/build.gradle b/geode-lucene/build.gradle index 0016275..5506165 100644 --- a/geode-lucene/build.gradle +++ b/geode-lucene/build.gradle @@ -26,18 +26,18 @@ dependencies { runtimeOnly 'org.apache.lucene:lucene-analyzers-phonetic:' + project.'lucene.version' testCompile project(':geode-junit') - testCompile project(':geode-lucene/geode-lucene-test') + testCompile project(':geode-lucene:geode-lucene-test') testCompile 'org.apache.lucene:lucene-test-framework:' + project.'lucene.version' testCompile 'com.pholser:junit-quickcheck-generators:' + project.'junit-quickcheck.version' integrationTestCompile project(":geode-dunit") - integrationTestCompile project(':geode-lucene/geode-lucene-test') + integrationTestCompile project(':geode-lucene:geode-lucene-test') integrationTestCompile 'org.apache.lucene:lucene-analyzers-phonetic:' + project.'lucene.version' integrationTestCompile 'pl.pragmatists:JUnitParams:' + project.'JUnitParams.version' - distributedTestCompile project(':geode-lucene/geode-lucene-test') + distributedTestCompile project(':geode-lucene:geode-lucene-test') distributedTestCompile 'pl.pragmatists:JUnitParams:' + project.'JUnitParams.version' @@ -47,7 +47,7 @@ dependencies { performanceTestCompile project(":geode-junit") - performanceTestCompile project(':geode-lucene/geode-lucene-test') + performanceTestCompile project(':geode-lucene:geode-lucene-test') } //The lucene integration tests don't have any issues that requiring forking diff --git a/geode-old-client-support/build.gradle b/geode-old-client-support/build.gradle index 325bf8e..4b9100b 100644 --- a/geode-old-client-support/build.gradle +++ b/geode-old-client-support/build.gradle @@ -16,5 +16,5 @@ */ dependencies { - compile project(':geode-core') + compile project(':geode-core') } diff --git a/geode-old-versions/build.gradle b/geode-old-versions/build.gradle index 64d9863..06de76f 100644 --- a/geode-old-versions/build.gradle +++ b/geode-old-versions/build.gradle @@ -83,11 +83,11 @@ def addOldVersion(def source, def geodeVersion, def downloadInstall) { project.ext.installs.setProperty(source, "${buildDir}/apache-geode-${geodeVersion}") task("downloadAndUnzipFile${geodeVersion}") { - inputs.file { + inputs.files { configurations."${source}OldInstall" } - outputs.file("${buildDir}/apache-geode-${geodeVersion}") + outputs.dir("${buildDir}/apache-geode-${geodeVersion}") doLast { copy { from zipTree(configurations."${source}OldInstall".singleFile) diff --git a/geode-protobuf/build.gradle b/geode-protobuf/build.gradle index 73be98a..c9a031b 100644 --- a/geode-protobuf/build.gradle +++ b/geode-protobuf/build.gradle @@ -23,11 +23,12 @@ dependencies { testCompile project(':geode-core') testCompile project(':geode-junit') - testCompile project(":geode-protobuf/geode-protobuf-test") + testCompile project(":geode-protobuf:geode-protobuf-test") integrationTestCompile project(":geode-dunit") - integrationTestCompile project(":geode-protobuf/geode-protobuf-test") + integrationTestCompile project(":geode-protobuf:geode-protobuf-test") - distributedTestCompile project(":geode-protobuf/geode-protobuf-test") + + distributedTestCompile project(":geode-protobuf:geode-protobuf-test") } diff --git a/geode-pulse/build.gradle b/geode-pulse/build.gradle index 316376e..ce9262e 100755 --- a/geode-pulse/build.gradle +++ b/geode-pulse/build.gradle @@ -73,13 +73,13 @@ dependencies { integrationTestCompile project(':geode-junit') integrationTestCompile project(':geode-core') - integrationTestCompile project(':geode-pulse/geode-pulse-test') + integrationTestCompile project(':geode-pulse:geode-pulse-test') integrationTestCompile 'org.springframework:spring-test:' + project.'springframework.version' uiTestCompile project(':geode-junit') uiTestCompile project(':geode-json') - uiTestCompile project(':geode-pulse/geode-pulse-test') + uiTestCompile project(':geode-pulse:geode-pulse-test') uiTestCompile 'org.seleniumhq.selenium:selenium-remote-driver:' + project.'selenium.version' uiTestRuntime project(':geode-core') diff --git a/geode-web-api/build.gradle b/geode-web-api/build.gradle index 682bc63..80b60e1 100755 --- a/geode-web-api/build.gradle +++ b/geode-web-api/build.gradle @@ -20,6 +20,7 @@ apply plugin: 'war' dependencies { compileOnly project(':geode-core') + compileOnly 'javax.servlet:javax.servlet-api:' + project.'javax.servlet-api.version' compile 'commons-lang:commons-lang:' + project.'commons-lang.version' diff --git a/gradle/ide.gradle b/gradle/ide.gradle index a8ea46d..164c820 100644 --- a/gradle/ide.gradle +++ b/gradle/ide.gradle @@ -30,7 +30,7 @@ subprojects { // Remove the gradle output directories from the eclipse classpath. // Unfortunately, using minusConfigurations does not work here, because // it removes the entire geode-core project. - classpath.entries.removeAll { entry -> + classpath.entries.removeAll { entry -> (entry.path.contains('geode-core/build') || entry.path.contains('geode-web/build') || entry.path.contains('geode-assembly/build') || @@ -41,10 +41,10 @@ subprojects { //By default, gradle adds the java 1.8 *execution environment*, which has access restrictions on //things like Unsafe. Change it to a direct dependency on the workspace JDK - classpath.entries = classpath.entries.collect { entry -> - entry.path.contains('org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE') - ? new Container('org.eclipse.jdt.launching.JRE_CONTAINER') - : entry + classpath.entries = classpath.entries.collect { entry -> + entry.path.contains('org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE') ? + new Container('org.eclipse.jdt.launching.JRE_CONTAINER') : + entry } } } @@ -70,13 +70,13 @@ subprojects { delete '.settings/org.eclipse.core.resources.prefs' } } - + tasks.eclipse.dependsOn(cleanEclipse) - + idea { module { downloadSources = true } } } - + diff --git a/gradle/java.gradle b/gradle/java.gradle index a55b74a..d525813 100644 --- a/gradle/java.gradle +++ b/gradle/java.gradle @@ -16,6 +16,8 @@ */ allprojects { + // There exist peculiarities surrounding our handling of ClassLoaders and cross-module resources, + // causing test failures if we apply the newer 'java-library' plugin. apply plugin: 'java' sourceCompatibility = 1.8 targetCompatibility = 1.8 @@ -24,6 +26,12 @@ allprojects { subprojects { + dependencies { + // log4j-core has an annotation processor that is passed on the compile-classpath via geode-core and others. + // Fix Gradle warning here until we clean up our own classpath + annotationProcessor 'org.apache.logging.log4j:log4j-core:' + project.'log4j.version' + } + String javaVersion = System.properties['java.version'] if (javaVersion.startsWith("1.8.0") && javaVersion.split("_")[1].toInteger() < 121) { throw new GradleException("Java version 1.8.0_121 or later required, but was " + javaVersion) diff --git a/gradle/publish.gradle b/gradle/publish.gradle index 7e47a0c..18810d8 100644 --- a/gradle/publish.gradle +++ b/gradle/publish.gradle @@ -132,57 +132,58 @@ subprojects { maven(MavenPublication) { from components.java - // uses the tasks created by nexus for sources and javadoc - if (!getTasksByName('sourcesJar', false).isEmpty()) { - artifact sourcesJar - } - if (!getTasksByName('javadocJar', false).isEmpty()) { - artifact javadocJar - } + afterEvaluate { + // uses the tasks created by nexus for sources and javadoc + if (!getTasksByName('sourcesJar', false).isEmpty()) { + artifact sourcesJar + } + if (!getTasksByName('javadocJar', false).isEmpty()) { + artifact javadocJar + } - pom { - name = 'Apache Geode' - description = 'Apache Geode provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing' - url = 'http://geode.apache.org' + pom { + name = 'Apache Geode' + description = 'Apache Geode provides a database-like consistency model, reliable transaction processing and a shared-nothing architecture to maintain very low latency performance with high concurrency processing' + url = 'http://geode.apache.org' - scm { - url = 'https://github.com/apache/geode' - connection = 'scm:git:https://github.com:apache/geode.git' - developerConnection = 'scm:git:https://github.com:apache/geode.git' - } + scm { + url = 'https://github.com/apache/geode' + connection = 'scm:git:https://github.com:apache/geode.git' + developerConnection = 'scm:git:https://github.com:apache/geode.git' + } - licenses { - license { - name = 'The Apache Software License, Version 2.0' - url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + licenses { + license { + name = 'The Apache Software License, Version 2.0' + url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' + } } - } - withXml { - //This black magic checks to see if a dependency has the flag ext.optional=true - //set on it, and if so marks the dependency as optional in the maven pom - def depMap = project.configurations.compile.dependencies.collectEntries { [it.name, it] } - def runtimeDeps = project.configurations.runtime.dependencies.collectEntries { [it.name, it] } - def runtimeOnlyDeps = project.configurations.runtimeOnly.dependencies.collectEntries { [it.name, it] } - depMap.putAll(runtimeDeps) - depMap.putAll(runtimeOnlyDeps) - asNode().dependencies.dependency.findAll { - def dep = depMap.get(it.artifactId.text()) - return dep?.hasProperty('optional') && dep.optional - }.each { - if (it.optional) { - it.optional.value = 'true' - } else { - it.appendNode('optional', 'true') + withXml { + //This black magic checks to see if a dependency has the flag ext.optional=true + //set on it, and if so marks the dependency as optional in the maven pom + def depMap = project.configurations.compile.dependencies.collectEntries { [it.name, it] } + def runtimeDeps = project.configurations.runtime.dependencies.collectEntries { [it.name, it] } + def runtimeOnlyDeps = project.configurations.runtimeOnly.dependencies.collectEntries { [it.name, it] } + depMap.putAll(runtimeDeps) + depMap.putAll(runtimeOnlyDeps) + asNode().dependencies.dependency.findAll { + def dep = depMap.get(it.artifactId.text()) + return dep?.hasProperty('optional') && dep.optional + }.each { + if (it.optional) { + it.optional.value = 'true' + } else { + it.appendNode('optional', 'true') + } } } } - } - pom { - withXml { - def elem = asElement() - def hdr = elem.ownerDocument().createComment( - ''' + pom { + withXml { + def elem = asElement() + def hdr = elem.ownerDocument().createComment( + ''' 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 copyright ownership. @@ -198,7 +199,8 @@ subprojects { See the License for the specific language governing permissions and limitations under the License. ''') - elem.insertBefore(hdr, elem.firstChild) + elem.insertBefore(hdr, elem.firstChild) + } } } } diff --git a/gradle/sonar.gradle b/gradle/sonar.gradle index 32f1883..e93e6e2 100644 --- a/gradle/sonar.gradle +++ b/gradle/sonar.gradle @@ -30,25 +30,25 @@ sonarqube { } } -project("extensions/geode-modules") { +project("extensions:geode-modules") { sonarqube { skipProject = true } } -project("extensions/geode-modules-assembly") { +project("extensions:geode-modules-assembly") { sonarqube { skipProject = true } } -project("extensions/geode-modules-session") { +project("extensions:geode-modules-session") { sonarqube { skipProject = true } } -project("extensions/geode-modules-tomcat7") { +project("extensions:geode-modules-tomcat7") { sonarqube { skipProject = true } diff --git a/gradle/test.gradle b/gradle/test.gradle index 751c20e..e12b66b 100644 --- a/gradle/test.gradle +++ b/gradle/test.gradle @@ -62,6 +62,8 @@ subprojects { } } + // This configuration might be safely removed once the CategoryWithParameterizedRunnerFactory + // and associated classes are themselves removed, per GEODE-5606 configurations { apt } @@ -72,7 +74,8 @@ subprojects { transitive = false } // Because EnsureCorrectRunsWithProcessor needs access to - // CategoryWithParameterizedRunnerFactory. The specific version of geode-junit is not important. + // CategoryWithParameterizedRunnerFactory. + // buildSrc uses version 1.3.0, so we use it here instead of the local geode-junit project apt(group: 'org.apache.geode', name: 'geode-junit', version: '1.3.0') { transitive = false } @@ -121,13 +124,22 @@ subprojects { } } - // Facets does not extend the new runtimeOnly configurations - configurations.integrationTestRuntimeOnly.extendsFrom(configurations.runtimeOnly) - configurations.distributedTestRuntimeOnly.extendsFrom(configurations.runtimeOnly) - configurations.performanceTestRuntimeOnly.extendsFrom(configurations.runtimeOnly) - configurations.acceptanceTestRuntimeOnly.extendsFrom(configurations.runtimeOnly) - configurations.uiTestRuntimeOnly.extendsFrom(configurations.runtimeOnly) - configurations.upgradeTestRuntimeOnly.extendsFrom(configurations.runtimeOnly) + configurations { + testAnnotationProcessor.extendsFrom annotationProcessor + integrationTestAnnotationProcessor.extendsFrom annotationProcessor + distributedTestAnnotationProcessor.extendsFrom annotationProcessor + performanceTestAnnotationProcessor.extendsFrom annotationProcessor + acceptanceTestAnnotationProcessor.extendsFrom annotationProcessor + uiTestAnnotationProcessor.extendsFrom annotationProcessor + upgradeTestAnnotationProcessor.extendsFrom annotationProcessor + // Facets does not extend the new runtimeOnly configurations + integrationTestRuntimeOnly.extendsFrom(runtimeOnly) + distributedTestRuntimeOnly.extendsFrom(runtimeOnly) + performanceTestRuntimeOnly.extendsFrom(runtimeOnly) + acceptanceTestRuntimeOnly.extendsFrom(runtimeOnly) + uiTestRuntimeOnly.extendsFrom(runtimeOnly) + upgradeTestRuntimeOnly.extendsFrom(runtimeOnly) + } dependencies { integrationTestCompile 'org.jmock:jmock-junit4:' + project.'jmock.version' diff --git a/settings.gradle b/settings.gradle index 11d3d06..6225baf 100644 --- a/settings.gradle +++ b/settings.gradle @@ -14,6 +14,9 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + +import org.gradle.util.GradleVersion + rootProject.name = 'geode' include 'geode-old-versions' @@ -25,28 +28,28 @@ include 'geode-core' include 'geode-web' include 'geode-web-api' include 'geode-pulse' -include 'geode-pulse/geode-pulse-test' +include 'geode-pulse:geode-pulse-test' include 'geode-assembly' -include 'geode-assembly/geode-assembly-test' +include 'geode-assembly:geode-assembly-test' include 'geode-rebalancer' include 'geode-lucene' -include 'geode-lucene/geode-lucene-test' +include 'geode-lucene:geode-lucene-test' include 'geode-old-client-support' include 'geode-wan' include 'geode-cq' include 'geode-connectors' -include 'extensions/geode-modules' -include 'extensions/geode-modules-test' -include 'extensions/geode-modules-tomcat7' -include 'extensions/geode-modules-tomcat8' -include 'extensions/geode-modules-session-internal' -include 'extensions/geode-modules-session' -include 'extensions/geode-modules-assembly' +include 'extensions:geode-modules' +include 'extensions:geode-modules-test' +include 'extensions:geode-modules-tomcat7' +include 'extensions:geode-modules-tomcat8' +include 'extensions:geode-modules-session-internal' +include 'extensions:geode-modules-session' +include 'extensions:geode-modules-assembly' include 'geode-protobuf' -include 'geode-protobuf/geode-protobuf-test' +include 'geode-protobuf:geode-protobuf-test' include 'geode-experimental-driver' include 'geode-protobuf-messages' -include 'extensions/session-testing-war' +include 'extensions:session-testing-war' include 'geode-concurrency-test' @@ -54,6 +57,8 @@ if (GradleVersion.current() < GradleVersion.version(minimumGradleVersion)) { throw new GradleException('Running with unsupported Gradle Version. Use Gradle Wrapper or with Gradle version >= ' + minimumGradleVersion) } +enableFeaturePreview('STABLE_PUBLISHING') + buildCache { local { enabled = true