From 5491b1d8e5ea61bd13fc84b653161a7602f55874 Mon Sep 17 00:00:00 2001 From: Calin Iorgulescu Date: Thu, 27 Oct 2016 13:10:08 +0200 Subject: [PATCH] [FIXED JENKINS-39314] Pass all environment variables from other build environments to the current one. --- .../templateproject/ProxyBuildEnvironment.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/hudson/plugins/templateproject/ProxyBuildEnvironment.java b/src/main/java/hudson/plugins/templateproject/ProxyBuildEnvironment.java index 094a402..d92ca4f 100644 --- a/src/main/java/hudson/plugins/templateproject/ProxyBuildEnvironment.java +++ b/src/main/java/hudson/plugins/templateproject/ProxyBuildEnvironment.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Map; import org.kohsuke.stapler.AncestorInPath; import org.kohsuke.stapler.DataBoundConstructor; @@ -84,12 +85,20 @@ public Environment setUp(@SuppressWarnings("rawtypes") AbstractBuild build, Laun AbstractProject p = TemplateUtils.getProject(getProjectName(), build); listener.getLogger().println("[TemplateProject] Getting environment from: " + HyperlinkNote.encodeTo('/'+ p.getUrl(), p.getFullDisplayName())); + final ArrayList envs = new ArrayList(); for (BuildWrapper builder : getProjectBuildWrappers(build)) { - builder.setUp(build, launcher, listener); + envs.add(builder.setUp(build, launcher, listener)); } listener.getLogger().println("[TemplateProject] Successfully setup environment from: '" + p.getFullDisplayName() + "'"); return new Environment() { + @Override + public void buildEnvVars(Map vars) { + for (Environment env : envs) { + env.buildEnvVars(vars); + } + } + @Override public boolean tearDown(@SuppressWarnings("rawtypes") AbstractBuild build, BuildListener listener) throws IOException, InterruptedException { // let build continue