From 27293a2b38d4190926f98d29b5a3119cfd1c3153 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scheibe?= Date: Thu, 31 Jan 2019 23:16:30 +0100 Subject: [PATCH 1/3] Cleanup - Use ClassLoaderSanityThreadFactory from core instead of own implementation --- .../workflow/support/concurrent/Timeout.java | 13 ++----------- 1 file changed, 2 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/workflow/support/concurrent/Timeout.java b/src/main/java/org/jenkinsci/plugins/workflow/support/concurrent/Timeout.java index b5e430e4..28b23a84 100644 --- a/src/main/java/org/jenkinsci/plugins/workflow/support/concurrent/Timeout.java +++ b/src/main/java/org/jenkinsci/plugins/workflow/support/concurrent/Timeout.java @@ -27,6 +27,7 @@ import hudson.FilePath; import hudson.Util; import hudson.remoting.VirtualChannel; +import hudson.util.ClassLoaderSanityThreadFactory; import hudson.util.DaemonThreadFactory; import hudson.util.NamingThreadFactory; import java.util.concurrent.Executors; @@ -44,17 +45,7 @@ public class Timeout implements AutoCloseable { private static final Logger LOGGER = Logger.getLogger(Timeout.class.getName()); - // TODO 2.105+ use ClassLoaderSanityThreadFactory from core - static class ClassloaderSanityDaemonThreadFactory extends DaemonThreadFactory { - public Thread newThread(Runnable r) { - Thread t = super.newThread(r); - t.setContextClassLoader(Timeout.class.getClassLoader()); - return t; - } - } - - - private static final ScheduledExecutorService interruptions = Executors.newSingleThreadScheduledExecutor(new NamingThreadFactory(new ClassloaderSanityDaemonThreadFactory(), "Timeout.interruptions")); + private static final ScheduledExecutorService interruptions = Executors.newSingleThreadScheduledExecutor(new NamingThreadFactory(new ClassLoaderSanityThreadFactory(new DaemonThreadFactory()), "Timeout.interruptions")); private final Thread thread; private volatile boolean completed; From 9230f85ad61cf6b3041ab57a834300a3a9ed7fc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scheibe?= Date: Thu, 31 Jan 2019 23:17:37 +0100 Subject: [PATCH 2/3] Cleanup - Use Functions.printStackTrace instread of Functions.printThrowable --- .../plugins/workflow/support/pickles/TryRepeatedly.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/jenkinsci/plugins/workflow/support/pickles/TryRepeatedly.java b/src/main/java/org/jenkinsci/plugins/workflow/support/pickles/TryRepeatedly.java index 1e703b2b..82debd0f 100644 --- a/src/main/java/org/jenkinsci/plugins/workflow/support/pickles/TryRepeatedly.java +++ b/src/main/java/org/jenkinsci/plugins/workflow/support/pickles/TryRepeatedly.java @@ -97,7 +97,7 @@ public void run() { try { printWaitingMessage(listener); } catch (Exception x) { - listener.getLogger().println(Functions.printThrowable(x).trim()); // TODO 2.43+ use Functions.printStackTrace + Functions.printStackTrace(x, listener.getLogger()); } } catch (IOException x) { LOGGER.log(Level.WARNING, null, x); From 3b1f6c91901e066d72ad554173b4dca81f4937a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ren=C3=A9=20Scheibe?= Date: Thu, 31 Jan 2019 23:30:48 +0100 Subject: [PATCH 3/3] Cleanup - Remove obsolete @SuppressFBWarnings annotation It was missed to be removed in commit be5a15faba9c50371df73254ea777c4ff85beb53. --- .../plugins/workflow/support/actions/WorkspaceActionImpl.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/org/jenkinsci/plugins/workflow/support/actions/WorkspaceActionImpl.java b/src/main/java/org/jenkinsci/plugins/workflow/support/actions/WorkspaceActionImpl.java index 2b951268..08285dfe 100644 --- a/src/main/java/org/jenkinsci/plugins/workflow/support/actions/WorkspaceActionImpl.java +++ b/src/main/java/org/jenkinsci/plugins/workflow/support/actions/WorkspaceActionImpl.java @@ -24,7 +24,6 @@ package org.jenkinsci.plugins.workflow.support.actions; -import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.FilePath; import hudson.model.DirectoryBrowserSupport; import hudson.model.Item; @@ -51,7 +50,6 @@ public final class WorkspaceActionImpl extends WorkspaceAction implements FlowNo private final Set labels; private transient FlowNode parent; - @SuppressFBWarnings(value="RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE", justification="TODO 1.653+ switch to Jenkins.getInstanceOrNull") public WorkspaceActionImpl(FilePath workspace, FlowNode parent) { node = FilePathUtils.getNodeName(workspace); Jenkins j = Jenkins.getInstanceOrNull();