Skip to content

Commit b47977d

Browse files
authored
Merge pull request #1705 from cronik/bugfix/JENKINS-75720
[JENKINS-75720] Fix potential ClassNotFoundException in ContainerExecCallback
2 parents a0283de + f2d665a commit b47977d

File tree

1 file changed

+25
-0
lines changed

1 file changed

+25
-0
lines changed

src/main/java/org/csanchez/jenkins/plugins/kubernetes/pipeline/ContainerStepExecution.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,11 +12,13 @@
1212
import hudson.slaves.NodeProperty;
1313
import hudson.slaves.NodePropertyDescriptor;
1414
import hudson.util.DescribableList;
15+
import java.io.Closeable;
1516
import java.util.Collections;
1617
import java.util.List;
1718
import java.util.logging.Level;
1819
import java.util.logging.Logger;
1920
import jenkins.model.Jenkins;
21+
import org.jenkinsci.plugins.workflow.steps.BodyExecutionCallback;
2022
import org.jenkinsci.plugins.workflow.steps.BodyInvoker;
2123
import org.jenkinsci.plugins.workflow.steps.EnvironmentExpander;
2224
import org.jenkinsci.plugins.workflow.steps.StepContext;
@@ -89,4 +91,27 @@ public void stop(@NonNull Throwable cause) throws Exception {
8991
LOGGER.log(Level.FINE, "Stopping container step.");
9092
closeQuietly(getContext(), decorator);
9193
}
94+
95+
/**
96+
* This class has been replaced but is not deleted to prevent {@code ClassNotFoundException}.
97+
* See <a href="https://issues.jenkins.io/browse/JENKINS-75720">JENKINS-75720</a>
98+
* @deprecated replaced {@link Resources#closeQuietlyCallback(Closeable...)}
99+
*/
100+
@Deprecated
101+
@SuppressFBWarnings("SE_BAD_FIELD")
102+
private static class ContainerExecCallback extends BodyExecutionCallback.TailCall {
103+
104+
private static final long serialVersionUID = 6385838254761750483L;
105+
106+
private final Closeable[] closeables;
107+
108+
private ContainerExecCallback(Closeable... closeables) {
109+
this.closeables = closeables;
110+
}
111+
112+
@Override
113+
public void finished(StepContext context) {
114+
closeQuietly(context, closeables);
115+
}
116+
}
92117
}

0 commit comments

Comments
 (0)