Revert "BIGTOP-1395. Simplifying non-component versions evaluation."
This reverts commit 7ca693cd2faecc33bd15116643b289233795792c. BIGTOP-1395 needs to be re-opened and committed once make implementation is retired. Project: http://git-wip-us.apache.org/repos/asf/bigtop/repo Commit: http://git-wip-us.apache.org/repos/asf/bigtop/commit/55b6881c Tree: http://git-wip-us.apache.org/repos/asf/bigtop/tree/55b6881c Diff: http://git-wip-us.apache.org/repos/asf/bigtop/diff/55b6881c Branch: refs/heads/master Commit: 55b6881c7e84ecbcc36ff8d3069d7480ad8e67b3 Parents: 83d744c Author: Konstantin Boudnik <[email protected]> Authored: Mon Aug 11 11:42:01 2014 -0700 Committer: Konstantin Boudnik <[email protected]> Committed: Mon Aug 11 11:42:01 2014 -0700 ---------------------------------------------------------------------- bigtop.mk | 2 ++ packages.gradle | 29 ++++++++++++++++++----------- 2 files changed, 20 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/bigtop/blob/55b6881c/bigtop.mk ---------------------------------------------------------------------- diff --git a/bigtop.mk b/bigtop.mk index bd5b84a..7123f5a 100644 --- a/bigtop.mk +++ b/bigtop.mk @@ -18,6 +18,8 @@ BIGTOP_VERSION=0.8.0 # JDK Version JDK_VERSION=1.7 JDK_BASE_VERSION=$(JDK_VERSION) +$(eval BIGTOP_BOM += JDK_VERSION=$(JDK_VERSION)) + # Hadoop 0.20.0-based hadoop package HADOOP_NAME=hadoop http://git-wip-us.apache.org/repos/asf/bigtop/blob/55b6881c/packages.gradle ---------------------------------------------------------------------- diff --git a/packages.gradle b/packages.gradle index 33facd0..16c1e19 100644 --- a/packages.gradle +++ b/packages.gradle @@ -467,15 +467,25 @@ def readBOM = { bomfile.eachLine { if (!it.startsWith("#") && !it.isEmpty()) { if (it.startsWith("\$(eval")) { + // should either match $(eval $(call PACKAGE,xxxx,XXXX)) def pattern = ~/.*call PACKAGE,(\w+[-\w+]*),(\w+)/ def m = it =~ pattern - assert m.size() == 1 - def target = m[0][1] - def variable = m[0][2] - genTasks(target, variable) - targets.add(target) + def variable = "" + if (m.size() == 1) { + def target = m[0][1] + variable = m[0][2] + genTasks(target, variable) + targets.add(target) + } else { + // or match $(eval BIGTOP_BOM += XXXX_VERSION=$(XXXX_VERSION)) + pattern = ~/.*BIGTOP_BOM \+= (\w+)_VERSION=\$\((\w+)_VERSION\)\).*/ + m = it =~ pattern + print m.size() + assert(m.size() == 1) + assert( m[0][1]== m[0][2]) + variable = m[0][1] + } // Store the component name in the list - // TODO - we might not need them components anymore: version are calculated differently now components.add(variable) return } @@ -491,11 +501,8 @@ def readBOM = { project.afterEvaluate { readBOM() def bomVersions = "" - // Versions need to be preserved for more than just component: - // - there are JDK version requirement - // - possibly more in the future - BOM_map.keySet().findAll { it ==~ /.*_BASE_VERSION/ }.each { base_version -> - bomVersions += "${base_version.replaceAll('_BASE', '')}=${BOM_map[base_version]} " + components.each { component -> + bomVersions += "${component + '_VERSION'}=${BOM_map[component + '_BASE_VERSION']} " } BOM_map[BIGTOP_BOM] = bomVersions if (System.getProperty(VERBOSE))println "BIGTOP_BOM:\n${BOM_map[BIGTOP_BOM]}"
