Repository: bigtop
Updated Branches:
  refs/heads/master f0bab0355 -> 9a648f36e


BIGTOP-1374. Add dynamic override of BOM variables into Gradle build


Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo
Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/82aff907
Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/82aff907
Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/82aff907

Branch: refs/heads/master
Commit: 82aff907b2230ea32ee8a70baf902663873558aa
Parents: f0bab03
Author: Konstantin Boudnik <[email protected]>
Authored: Sun Jul 13 15:32:36 2014 -0700
Committer: Konstantin Boudnik <[email protected]>
Committed: Mon Jul 14 13:21:44 2014 -0700

----------------------------------------------------------------------
 .../org/apache/bigtop/TestBuildUtils.groovy     | 27 ++++++++++++++++++--
 packages.gradle                                 |  4 ++-
 2 files changed, 28 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/bigtop/blob/82aff907/buildSrc/src/test/groovy/org/apache/bigtop/TestBuildUtils.groovy
----------------------------------------------------------------------
diff --git a/buildSrc/src/test/groovy/org/apache/bigtop/TestBuildUtils.groovy 
b/buildSrc/src/test/groovy/org/apache/bigtop/TestBuildUtils.groovy
index 46b0d01..83b8966 100644
--- a/buildSrc/src/test/groovy/org/apache/bigtop/TestBuildUtils.groovy
+++ b/buildSrc/src/test/groovy/org/apache/bigtop/TestBuildUtils.groovy
@@ -17,7 +17,7 @@
  */
 package org.apache.bigtop
 
-import junit.framework.Assert
+import org.junit.Assert
 import org.junit.Test
 
 class TestBuildUtils {
@@ -31,7 +31,8 @@ class TestBuildUtils {
       'BIGTOP_UTILS_BASE_VERSION=$(subst -,.,$(BIGTOP_VERSION))',
       'BIGTOP_UTILS_PKG_VERSION=$(BIGTOP_UTILS_BASE_VERSION)',
       'BIGTOP_UTILS_RELEASE_VERSION=1',
-      
'HADOOP_SITE=$(APACHE_MIRROR)/$(BIGTOP_UTILS_RELEASE_VERSION)/hadoop-2.0.6-alpha-src.tar.gz'
+      
'HADOOP_SITE=$(APACHE_MIRROR)/$(BIGTOP_UTILS_RELEASE_VERSION)/hadoop-2.0.6-alpha-src.tar.gz',
+      'BIGTOP_BUILD_STAMP=1'
   ]
   Map map = [
       APACHE_MIRROR:  "http://apache.osuosl.org";,
@@ -51,4 +52,26 @@ class TestBuildUtils {
     Assert.assertEquals("0.9.0.3", map.get("BIGTOP_UTILS_PKG_VERSION"))
     
Assert.assertEquals("http://apache.osuosl.org/1/hadoop-2.0.6-alpha-src.tar.gz";, 
map.get("HADOOP_SITE"))
   }
+
+  @Test
+  void testOverrideBOM () {
+    System.setProperty("BIGTOP_UTILS_BASE_VERSION", "10.1.0")
+    System.setProperty("BIGTOP_BUILD_STAMP", "12")
+    System.setProperty("HADOOP_SITE", "http://www.apache.org";)
+    BuildUtils buildUtils = new BuildUtils()
+    def envs = []
+    input.each { line ->
+      envs = line?.split("=")
+      def value = buildUtils.evaluateBOM(map, envs[1])
+      value = System.getProperty(envs[0]) ?: value
+      map.put(envs[0], value)
+    }
+
+    Assert.assertEquals("10.1.0", map.get("BIGTOP_UTILS_BASE_VERSION"))
+    Assert.assertEquals("12", map.get("BIGTOP_BUILD_STAMP"))
+    Assert.assertEquals("http://www.apache.org";, map.get("HADOOP_SITE"))
+    System.clearProperty("HADOOP_SITE")
+    System.clearProperty("BIGTOP_BUILD_STAMP")
+    System.clearProperty("BIGTOP_UTILS_BASE_VERSION")
+  }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/bigtop/blob/82aff907/packages.gradle
----------------------------------------------------------------------
diff --git a/packages.gradle b/packages.gradle
index a059ff6..d8ad36f 100644
--- a/packages.gradle
+++ b/packages.gradle
@@ -479,7 +479,9 @@ def readBOM = {
         return
       }
       envs = it?.split("=")
-      BOM_map.put(envs[0], buildUtils.evaluateBOM(BOM_map, envs[1]))
+      def value = buildUtils.evaluateBOM(BOM_map, envs[1])
+      value = System.getProperty(envs[0]) ?: value
+      BOM_map.put(envs[0], value)
     }
   }
 }

Reply via email to