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')
+  }
 }

Reply via email to