diff --git a/.mvn/maven.config b/.mvn/maven.config index 2a0299c4..66d406fe 100644 --- a/.mvn/maven.config +++ b/.mvn/maven.config @@ -1,2 +1,3 @@ -Pconsume-incrementals -Pmight-produce-incrementals +-Duse-jenkins-bom diff --git a/pom.xml b/pom.xml index efaadee2..79d0a7f4 100644 --- a/pom.xml +++ b/pom.xml @@ -22,9 +22,10 @@ 1.35 -SNAPSHOT - 2.150.1 + 2.248 8 src/main/go/org/jenkinsci/plugins/durabletask + true @@ -53,6 +54,12 @@ 1.8 test + + org.jenkins-ci.plugins + trilead-api + 1.0.5 + test + org.jenkins-ci.plugins ssh-slaves diff --git a/src/main/java/org/jenkinsci/plugins/durabletask/BourneShellScript.java b/src/main/java/org/jenkinsci/plugins/durabletask/BourneShellScript.java index d0a6314f..df50940c 100644 --- a/src/main/java/org/jenkinsci/plugins/durabletask/BourneShellScript.java +++ b/src/main/java/org/jenkinsci/plugins/durabletask/BourneShellScript.java @@ -225,6 +225,9 @@ public String getScript() { } LOGGER.log(Level.FINE, "launching {0}", launcherCmd); + + launcher.prepareFilterRules(getRun(), this); + Launcher.ProcStarter ps = launcher.launch().cmds(launcherCmd).envs(escape(envVars)).pwd(ws).quiet(true); if (LAUNCH_DIAGNOSTICS) { ps.stdout(listener); diff --git a/src/main/java/org/jenkinsci/plugins/durabletask/DurableTask.java b/src/main/java/org/jenkinsci/plugins/durabletask/DurableTask.java index 73cbbfa8..678284d7 100644 --- a/src/main/java/org/jenkinsci/plugins/durabletask/DurableTask.java +++ b/src/main/java/org/jenkinsci/plugins/durabletask/DurableTask.java @@ -29,6 +29,7 @@ import hudson.FilePath; import hudson.Launcher; import hudson.model.AbstractDescribableImpl; +import hudson.model.Run; import hudson.model.TaskListener; import java.io.IOException; import java.nio.charset.Charset; @@ -44,6 +45,25 @@ public abstract class DurableTask extends AbstractDescribableImpl i private static final Logger LOGGER = Logger.getLogger(DurableTask.class.getName()); + /** + * Optional information about the run that has triggered this task + */ + protected transient Run run; + + /** + * @since TODO + */ + public void setRun(Run run) { + this.run = run; + } + + /** + * @since TODO + */ + public Run getRun() { + return run; + } + @Override public DurableTaskDescriptor getDescriptor() { return (DurableTaskDescriptor) super.getDescriptor(); } diff --git a/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java b/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java index 9ee9538c..d4df1d62 100644 --- a/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java +++ b/src/main/java/org/jenkinsci/plugins/durabletask/FileMonitoringTask.java @@ -72,6 +72,7 @@ import javax.annotation.Nonnull; import jenkins.MasterToSlaveFileCallable; import jenkins.security.MasterToSlaveCallable; +import jenkins.tasks.filters.EnvVarsFilterableBuilder; import org.apache.commons.io.FileUtils; import org.apache.commons.io.input.ReaderInputStream; import org.apache.commons.io.output.CountingOutputStream; @@ -81,7 +82,7 @@ /** * A task which forks some external command and then waits for log and status files to be updated/created. */ -public abstract class FileMonitoringTask extends DurableTask { +public abstract class FileMonitoringTask extends DurableTask implements EnvVarsFilterableBuilder { private static final Logger LOGGER = Logger.getLogger(FileMonitoringTask.class.getName()); diff --git a/src/main/java/org/jenkinsci/plugins/durabletask/PowershellScript.java b/src/main/java/org/jenkinsci/plugins/durabletask/PowershellScript.java index 3c8680e1..f3cda5d7 100644 --- a/src/main/java/org/jenkinsci/plugins/durabletask/PowershellScript.java +++ b/src/main/java/org/jenkinsci/plugins/durabletask/PowershellScript.java @@ -37,6 +37,7 @@ import java.util.List; import hudson.model.TaskListener; import java.io.IOException; + import org.kohsuke.stapler.DataBoundConstructor; import java.io.OutputStream; import java.nio.charset.Charset; @@ -126,7 +127,9 @@ public String getScript() { writeWithBom(c.getPowerShellWrapperFile(ws), scriptWrapper); } } - + + launcher.prepareFilterRules(getRun(), this); + Launcher.ProcStarter ps = launcher.launch().cmds(args).envs(escape(envVars)).pwd(ws).quiet(true); ps.readStdout().readStderr(); Proc p = ps.start(); diff --git a/src/main/java/org/jenkinsci/plugins/durabletask/WindowsBatchScript.java b/src/main/java/org/jenkinsci/plugins/durabletask/WindowsBatchScript.java index 15248051..7e5cfc75 100644 --- a/src/main/java/org/jenkinsci/plugins/durabletask/WindowsBatchScript.java +++ b/src/main/java/org/jenkinsci/plugins/durabletask/WindowsBatchScript.java @@ -32,6 +32,7 @@ import hudson.Proc; import hudson.model.TaskListener; import java.io.IOException; + import org.kohsuke.stapler.DataBoundConstructor; /** @@ -76,6 +77,8 @@ public String getScript() { c.getBatchFile1(ws).write(cmd, "UTF-8"); c.getBatchFile2(ws).write(script, "UTF-8"); + launcher.prepareFilterRules(getRun(), this); + Launcher.ProcStarter ps = launcher.launch().cmds("cmd", "/c", "\"\"" + c.getBatchFile1(ws) + "\"\"").envs(escape(envVars)).pwd(ws).quiet(true); /* Too noisy, and consumes a thread: ps.stdout(listener);