diff --git a/diferencias b/diferencias deleted file mode 100644 index 6ab1a2b..0000000 --- a/diferencias +++ /dev/null @@ -1,371 +0,0 @@ -diff --git a/AUTHORS b/AUTHORS -index 340a9c8..77d51da 100644 ---- a/AUTHORS -+++ b/AUTHORS -@@ -1 +1,2 @@ - Javi Roman -+Marcelo Valle -diff --git a/VERSION b/VERSION -index 8894c34..a92f3d0 100644 ---- a/VERSION -+++ b/VERSION -@@ -1 +1 @@ --Buildoop v0.0.1-alpha-build-08172014-122 -+Buildoop v1.0-alpha -diff --git a/buildoop/bin/buildoop b/buildoop/bin/buildoop -index 3a16a70..622baf1 100755 ---- a/buildoop/bin/buildoop -+++ b/buildoop/bin/buildoop -@@ -72,7 +72,7 @@ class Buildoop { - } - - def displayBanner() { -- userMessage("INFO", "Buildoop: Hadoop Ecosystem Builder\n\n") -+ println userMessage("INFO", "Buildoop: Hadoop Ecosystem Builder\n\n") - } - - def createLogfolder() { -@@ -103,7 +103,7 @@ class Buildoop { - "WARNING":ANSI_YELLOW, - "INFO":ANSI_BLUE] - -- print CSI + colors[type] + msg + CSI + ANSI_RESET -+ return CSI + colors[type] + msg + CSI + ANSI_RESET - } - - static def main(args) { -diff --git a/buildoop/conf/buildoop.conf b/buildoop/conf/buildoop.conf -index acf789a..ab4bc1a 100644 ---- a/buildoop/conf/buildoop.conf -+++ b/buildoop/conf/buildoop.conf -@@ -14,4 +14,4 @@ buildoop.bomdeploysrc = "build/deploy/%DIST/%VER/src" - buildoop.bomdeploybin = "build/deploy/%DIST/%VER/bin" - buildoop.remoterepodata = "remote" - buildoop.version="Buildoop v1.0.0-alpha" --buildoop.buildRetries = 2 -+buildoop.buildRetries = 3 -diff --git a/buildoop/lib/MainController.groovy b/buildoop/lib/MainController.groovy -index f242727..f23060c 100644 ---- a/buildoop/lib/MainController.groovy -+++ b/buildoop/lib/MainController.groovy -@@ -40,6 +40,7 @@ class MainController { - def packageBuilder - def repositoryDownloader - def hasDoPackage -+ def buildSummary - - def MainController(buildoop) { - _buildoop = buildoop -@@ -49,6 +50,7 @@ class MainController { - globalConfig = buildoop.globalConfig - // custom package by default - hasDoPackage = true -+ buildSummary = [] - - String[] roots = [globalConfig.buildoop.classfolder] - def engine = new GroovyScriptEngine(roots) -@@ -81,10 +83,8 @@ class MainController { - break - - case "-info": -- if ((wo["bom"] == "") && (wo["pkg"] == "")) { -- // info for the buildoop in general -- getInfo() -- } else if ((wo["bom"] != "") && (wo["pkg"] == "")) { -+ case "-i": -+ if ((wo["bom"] != "") && (wo["pkg"] == "")) { - // info for the BOM file - getBomInfo(wo["bom"]) - } else { -@@ -94,6 +94,7 @@ class MainController { - break - - case "-build": -+ case "-b": - def maxRetries = globalConfig.buildoop.buildRetries - def retries = 0 - def success = 0 -@@ -110,12 +111,32 @@ class MainController { - } - } else { - def pkgList = getPkgList(wo["bom"]) -+ def packageName - for (i in pkgList) { -- makePhases(i) -+ retries = 0 -+ success = 0 -+ packageName = (i.split("/")[-1]).split("\\.bd")[0] -+ while (!success && retries < maxRetries) { -+ try { -+ makePhases(i) -+ success = 1 -+ } -+ catch (e){ -+ println e -+ retries++ -+ } -+ } -+ if (success){ -+ buildSummaryOk(packageName) -+ } else { -+ buildSummaryError(packageName) -+ } - } -+ printSummary() - } - break - case "-clean": -+ case "-c": - if (wo["pkg"]) { - clean(wo["pkg"]) - } else { -@@ -166,9 +187,10 @@ class MainController { - case {line.contains("#")}: - break - case {line.contains("VERSION")}: -- def capitalname = line.split("_VERSION")[0] -- def name = capitalname.toLowerCase() -- list << globalConfig.buildoop.recipes + "/" + name + "/" + name + -+ def name = line.split("_VERSION")[0].toLowerCase() -+ def version = bom.split(".bom")[0] -+ //def name = capitalname.toLowerCase() -+ list << globalConfig.buildoop.recipes + "/" + version + "/" + name + "/" + name + - "-" + line.split("=")[1].trim() + ".bd" - break - default: -@@ -379,7 +401,7 @@ class MainController { - println "Downloaded: $size bytes" - long end = System.currentTimeMillis() - -- _buildoop.userMessage("OK", "[OK] ") -+ println _buildoop.userMessage("OK", "[OK] ") - println "Elapsed time: " + ((end - start) / 1000) + " seconds "; - - switch (jsonRecipe.do_fetch.download_cmd) { -@@ -396,13 +418,13 @@ class MainController { - LOG.error "[makePhases] md5sum fails!!!" - LOG.error "[makePhases] md5sum calculated: $md5Calculated" - LOG.error "[makePhases] md5sum from recipe: $jsonRecipe.do_download.src_md5sum" -- _buildoop.userMessage("ERROR", -+ println _buildoop.userMessage("ERROR", - "ERROR: md5sum for $jsonRecipe.do_download.src_uri failed:\n") -- _buildoop.userMessage("ERROR", -+ println _buildoop.userMessage("ERROR", - "Calculated : $md5Calculated\n") -- _buildoop.userMessage("ERROR", -+ println _buildoop.userMessage("ERROR", - "From recipe: $jsonRecipe.do_download.src_md5sum\n") -- _buildoop.userMessage("ERROR", "Aborting program!\n") -+ println _buildoop.userMessage("ERROR", "Aborting program!\n") - throw new Exception() - } - break -@@ -412,7 +434,7 @@ class MainController { - } - - } else { -- _buildoop.userMessage("OK", "[OK]") -+ println _buildoop.userMessage("OK", "[OK]") - println " Recipe: " + outFile.tokenize('/').last() + " ready to build " - LOG.info "[makePhases] download .done file exits skipped" - } -@@ -464,13 +486,10 @@ class MainController { - packageBuilder.createRepo(baseFolders, _buildoop) - f.createNewFile() - } -- _buildoop.userMessage("OK", "[OK]") -- println " Package built with success" -+ println _buildoop.userMessage("OK", "[OK]") + " Package built with success" - } else { - println "Custom package building processing" - } -- -- println "TODO .................." - } - - def clean(pkg) { -@@ -484,7 +503,6 @@ class MainController { - - def cleanall(pkg) { - clean(pkg) -- - def jsonRecipe = loadJsonRecipe(pkg) - - def downloadFile = globalConfig.buildoop.downloads + "/" + -@@ -511,20 +529,21 @@ class MainController { - repositoryDownloader.downloadRepo(url, ver) - } - -- def userMessage(type, msg) { -- def ANSI_RESET = "0m" -- def ANSI_RED = "31;1m" -- def ANSI_GREEN = "32;1m" -- def ANSI_YELLOW = "33;1m" -- def ANSI_PURPLE = "35;1m" -- def ANSI_CYAN = "36;1m" -- def ANSI_BLUE = "34;1m" -- def CSI="\u001B[" -- def colors = ["OK":ANSI_GREEN, -- "ERROR":ANSI_RED, -- "WARNING":ANSI_YELLOW, -- "INFO":ANSI_BLUE] -- println CSI + colors[type] + msg + CSI + ANSI_RESET -+ def buildSummaryOk(packageName){ -+ buildSummary.add(_buildoop.userMessage("OK", "[OK]") + "\tPackage '" + packageName + "' build succes") -+ } -+ -+ def buildSummaryError(packageName){ -+ LOG.error "Package " + packageName + " build process fails" -+ buildSummary.add(_buildoop.userMessage("ERROR", "[ERROR]") + "\tPackage '" + packageName + "' build fails") -+ } -+ -+ def printSummary(){ -+ println _buildoop.userMessage("INFO", "\nBuild Summary: ") -+ buildSummary.each { -+ line -> -+ println "${line}" -+ } - } - - } -diff --git a/buildoop/lib/ParseOptions.groovy b/buildoop/lib/ParseOptions.groovy -index eefa0a4..f4ec654 100644 ---- a/buildoop/lib/ParseOptions.groovy -+++ b/buildoop/lib/ParseOptions.groovy -@@ -74,7 +74,7 @@ Options: - -help this help - -version version information - -bom list available BOM files -- -target list available platform targets -+ -targets list available platform targets - -checkenv check minimal enviroment and host tools - BOM Options: - -i, -info Show information about the BOM file -@@ -113,7 +113,7 @@ Remote Repository Options: - * @param msg The error message to display user. - */ - def parseError(msg) { -- _buildoop.userMessage("ERROR", "ERROR: " + msg + "\n") -+ println _buildoop.userMessage("ERROR", "ERROR: " + msg + "\n") - LOG.error "ERROR: " + msg - usage() - System.exit(1) -@@ -209,6 +209,8 @@ Remote Repository Options: - case "-c": - case "-clean": - case "-cleanall": -+ case "-info": -+ case "-i": - // bom file validation - for (i in args) { - if (!arguments.contains(i)) { -@@ -283,15 +285,17 @@ Remote Repository Options: - parseError("You have to put a github.com repository url") - } - break -+ case "-help": -+ usage() -+ break - case "-checkenv": - case "-i": -- case "-info": -+ - case "-bom": - case "-targets": -- case "-help": - case "-version": -- break - default: -+ //no validation needed for this options - break - } - -diff --git a/buildoop/lib/RepositoryDownloader.groovy b/buildoop/lib/RepositoryDownloader.groovy -index 97c280f..8676bf8 100644 ---- a/buildoop/lib/RepositoryDownloader.groovy -+++ b/buildoop/lib/RepositoryDownloader.groovy -@@ -34,8 +34,10 @@ class RepositoryDownloader { - def LOG - def globalConfig - def runCommandInstance -+ def _buildoop - - def RepositoryDownloader(buildoop) { -+ _buildoop = buildoop - LOG = buildoop.log - BDROOT = buildoop.ROOT - globalConfig = buildoop.globalConfig -@@ -56,13 +58,13 @@ class RepositoryDownloader { - downloadMetadata(url, repositoryMetaFolder) - - // Get current tags in github repository -- showVersionsOutput += userMessage("OK", "\nRepository release versions:\n") -+ showVersionsOutput += _buildoop.userMessage("OK", "\nRepository release versions:\n") - - def command = "git --git-dir " + repositoryMetaFolder + "/.git tag" - showVersionsOutput += runCommand(command) - - // Get current branches in github repository (development branches) -- showVersionsOutput += userMessage("OK", "\nRepository development versions:\n") -+ showVersionsOutput += _buildoop.userMessage("OK", "\nRepository development versions:\n") - - command = "git --git-dir " + repositoryMetaFolder + "/.git/ branch -a | cut -f 3 -d '/' | tail -n +3" - showVersionsOutput += runCommand(command) -@@ -101,7 +103,7 @@ class RepositoryDownloader { - "/.git/ branch -a | cut -f 3 -d '/' | tail -n +3" - - if (!versionExists(version, command)) { -- println userMessage("ERROR", "\nRepository version '" + version + "' not exits, " + -+ println _buildoop.userMessage("ERROR", "\nRepository version '" + version + "' not exits, " + - "use -remoterepo to ensure you are choosing a correct one") - return - } -@@ -115,7 +117,7 @@ class RepositoryDownloader { - def ant = new AntBuilder(); - File bomFile = new File(recipesDir + "/" + version + ".bom") - -- println userMessage("INFO", "\nDownloading recipes " + release + " '" + version + "'......") -+ println _buildoop.userMessage("INFO", "\nDownloading recipes " + release + " '" + version + "'......") - - ant.delete(dir: recipesDir) - command = "git clone " + url + " " + recipesDir -@@ -125,7 +127,7 @@ class RepositoryDownloader { - - if (!bomFile.exists()){ - ant.delete(dir: recipesDir) -- println userMessage("ERROR", "\n'" + version + -+ println _buildoop.userMessage("ERROR", "\n'" + version + - ".bom' file doesn't exists in repository project, check your project!!") - return - } -@@ -137,7 +139,7 @@ class RepositoryDownloader { - if (release == "release"){ - ant.delete(dir: recipesDir + "/.git") - } -- println userMessage("OK", "\nRecipes " + release + " version '" + version + "' correctly download!!") -+ println _buildoop.userMessage("OK", "\nRecipes " + release + " version '" + version + "' correctly download!!") - - } - -@@ -168,21 +170,4 @@ class RepositoryDownloader { - def runCommand(command){ - runCommandInstance.runCommand(["bash", "-c", command]) - } -- -- def userMessage(type, msg) { -- def ANSI_RESET = "0m" -- def ANSI_RED = "31;1m" -- def ANSI_GREEN = "32;1m" -- def ANSI_YELLOW = "33;1m" -- def ANSI_PURPLE = "35;1m" -- def ANSI_CYAN = "36;1m" -- def ANSI_BLUE = "34;1m" -- def CSI="\u001B[" -- def colors = ["OK":ANSI_GREEN, -- "ERROR":ANSI_RED, -- "WARNING":ANSI_YELLOW, -- "INFO":ANSI_BLUE] -- return CSI + colors[type] + msg + CSI + ANSI_RESET -- } -- - }