diff --git a/src/com/wolox/ProjectConfiguration.groovy b/src/com/wolox/ProjectConfiguration.groovy index b4d533f..9092b42 100644 --- a/src/com/wolox/ProjectConfiguration.groovy +++ b/src/com/wolox/ProjectConfiguration.groovy @@ -5,6 +5,7 @@ import com.wolox.steps.Steps; class ProjectConfiguration { def environment; + def environmentHash; def services; Steps steps; def dockerfile; diff --git a/src/com/wolox/parser/ConfigParser.groovy b/src/com/wolox/parser/ConfigParser.groovy index 6b2ec2d..ae6a337 100644 --- a/src/com/wolox/parser/ConfigParser.groovy +++ b/src/com/wolox/parser/ConfigParser.groovy @@ -16,6 +16,8 @@ class ConfigParser { // parse the environment variables projectConfiguration.environment = parseEnvironment(yaml.environment); + // parse the environment variables + projectConfiguration.environmentHash = parseEnvironmentHash(yaml.environment); // parse the execution steps projectConfiguration.steps = parseSteps(yaml.steps); @@ -44,6 +46,16 @@ class ConfigParser { return environment.collect { k, v -> "${k}=${v}"}; } + static def parseEnvironmentHash(def environment) { + if (!environment) { + return ""; + } + + def map = [:] + + return environment.each { k, v -> map[k] = v}; + } + static def parseSteps(def yamlSteps) { List steps = yamlSteps.collect { k, v -> Step step = new Step(name: k) diff --git a/vars/base.groovy b/vars/base.groovy index 4b0080f..abd2200 100644 --- a/vars/base.groovy +++ b/vars/base.groovy @@ -3,7 +3,7 @@ import com.wolox.*; def call(ProjectConfiguration projectConfig, def _, def nextClosure) { return { variables -> - def timeoutTime = projectConfig.env.TIMEOUT ?: 600 // timeout 10 minutes + def timeoutTime = projectConfig.environmentHash.TIMEOUT ?: 600 // timeout 10 minutes timeout(time: timeoutTime, unit: 'SECONDS') { withEnv(projectConfig.environment) { wrap([$class: 'AnsiColorBuildWrapper', 'colorMapName': 'XTerm']) {