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 ab41986 GEODE-5423 Defer download and copy tasks to execution stage
of Gradle
ab41986 is described below
commit ab4198673cfc32b91f3abf49806c5299be9ea533
Author: Robert Houghton <[email protected]>
AuthorDate: Tue Jul 10 11:31:06 2018 -0700
GEODE-5423 Defer download and copy tasks to execution stage of Gradle
Custom tasks for fetching and unpacking geode-old-versions was doing
filesystem work during configure, every time a build was executed,
regardless of changes or targets requested. Reorganizing this task and
its dependencies several benefits:
- moves the blocking IO heavy operation into the execution stage
- allows parallel tasks to execute during the download and unzip
- does not do IO checks for non-build targets like `gradlew tasks`
- will not re-trigger the task on subsequent builds
---
build.gradle | 3 ++
geode-old-versions/build.gradle | 108 ++++++++++++++++++++++------------------
2 files changed, 63 insertions(+), 48 deletions(-)
diff --git a/build.gradle b/build.gradle
index 6f2ef08..765d5b7 100755
--- a/build.gradle
+++ b/build.gradle
@@ -35,6 +35,9 @@ buildscript {
}
}
+apply plugin: 'wrapper'
+apply plugin: 'com.gradle.build-scan'
+
wrapper {
gradleVersion = minimumGradleVersion
}
diff --git a/geode-old-versions/build.gradle b/geode-old-versions/build.gradle
index 7be3816..0cc9d65 100644
--- a/geode-old-versions/build.gradle
+++ b/geode-old-versions/build.gradle
@@ -15,52 +15,28 @@
* limitations under the License.
*/
-
disableMavenPublishing()
-
-project.ext.installs = new Properties();
-
-def addOldVersion(def source, def geodeVersion, def downloadInstall) {
- sourceSets.create(source, {})
-
- dependencies.add "${source}Compile",
"org.apache.geode:geode-common:$geodeVersion"
- dependencies.add "${source}Compile",
"org.apache.geode:geode-core:$geodeVersion"
- dependencies.add "${source}Compile",
"org.apache.geode:geode-lucene:$geodeVersion"
- dependencies.add "${source}Compile",
"org.apache.geode:geode-old-client-support:$geodeVersion"
- dependencies.add "${source}Compile",
"org.apache.geode:geode-wan:$geodeVersion"
- dependencies.add "${source}Compile",
"org.apache.geode:geode-cq:$geodeVersion"
- dependencies.add "${source}Compile",
"org.apache.geode:geode-rebalancer:$geodeVersion"
-
- if (downloadInstall) {
- configurations.create("${source}OldInstall")
-
- dependencies.add "${source}OldInstall",
"org.apache.geode:apache-geode:$geodeVersion"
-
- project.ext.installs.setProperty(source,
"$buildDir/apache-geode-${geodeVersion}")
- task "downloadAndUnzipFile${geodeVersion}"(type: Copy) {
- from zipTree(configurations["${source}OldInstall"].singleFile)
- into buildDir
- }
-
- createGeodeClasspathsFile.dependsOn
tasks["downloadAndUnzipFile${geodeVersion}"]
- }
-}
-
-
def generatedResources = "$buildDir/generated-resources/main"
+project.ext.installs = new Properties()
-sourceSets {
- main {
- output.dir(generatedResources, builtBy: 'createGeodeClasspathsFile')
- }
-}
-
-task createGeodeClasspathsFile {
+task createGeodeClasspathsFile {
File classpathsFile =
file("$generatedResources/geodeOldVersionClasspaths.txt")
File installsFile = file("$generatedResources/geodeOldVersionInstalls.txt")
outputs.file(classpathsFile)
outputs.file(installsFile)
+
+ // Add sourceSets for backwards compatibility, rolling upgrade, and
+ // pdx testing.
+ addOldVersion('test100', '1.0.0-incubating', false)
+ addOldVersion('test110', '1.1.0', false)
+ addOldVersion('test111', '1.1.1', false)
+ addOldVersion('test120', '1.2.0', true)
+ addOldVersion('test130', '1.3.0', true)
+ addOldVersion('test140', '1.4.0', true)
+ addOldVersion('test150', '1.5.0', true)
+ addOldVersion('test160', '1.6.0', true)
+
doLast {
Properties versions = new Properties();
project(':geode-old-versions').sourceSets.each {
@@ -79,15 +55,51 @@ task createGeodeClasspathsFile {
project.ext.installs.store(fos, '')
}
}
+}
- // Add sourceSets for backwards compatibility, rolling upgrade, and
- // pdx testing.
- addOldVersion('test100', '1.0.0-incubating', false)
- addOldVersion('test110', '1.1.0', false)
- addOldVersion('test111', '1.1.1', false)
- addOldVersion('test120', '1.2.0', true)
- addOldVersion('test130', '1.3.0', true)
- addOldVersion('test140', '1.4.0', true)
- addOldVersion('test150', '1.5.0', true)
- addOldVersion('test160', '1.6.0', true)
+def addOldVersion(def source, def geodeVersion, def downloadInstall) {
+ sourceSets.create("${source}", {})
+
+ configurations {
+ "${source}Compile"
+ }
+
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-common:${geodeVersion}"
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-core:${geodeVersion}"
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-lucene:${geodeVersion}"
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-old-client-support:${geodeVersion}"
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-wan:${geodeVersion}"
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-cq:${geodeVersion}"
+ dependencies.add "${source}Compile",
"org.apache.geode:geode-rebalancer:${geodeVersion}"
+
+ if (downloadInstall) {
+ configurations.create("${source}OldInstall")
+
+ dependencies {
+ "${source}OldInstall" "org.apache.geode:apache-geode:${geodeVersion}"
+ }
+
+ project.ext.installs.setProperty(source,
"${buildDir}/apache-geode-${geodeVersion}")
+
+ task("downloadAndUnzipFile${geodeVersion}") {
+ inputs.file {
+ configurations."${source}OldInstall"
+ }
+
+ outputs.file("${buildDir}/apache-geode-${geodeVersion}")
+ doLast {
+ copy {
+ from zipTree(configurations."${source}OldInstall".singleFile)
+ into project.buildDir
+ }
+ }
+ }
+ createGeodeClasspathsFile.dependsOn
tasks["downloadAndUnzipFile${geodeVersion}"]
+ }
+}
+
+sourceSets {
+ main {
+ output.dir(generatedResources, builtBy: 'createGeodeClasspathsFile')
+ }
}