diff --git a/core/src/main/java/hudson/Util.java b/core/src/main/java/hudson/Util.java index fe4334438e739335e818f34ad7c5a969b8525fa2..7775b4ca6afe4361266670c997ec4f7031f602f9 100644 --- a/core/src/main/java/hudson/Util.java +++ b/core/src/main/java/hudson/Util.java @@ -23,6 +23,7 @@ */ package hudson; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import hudson.model.TaskListener; import jenkins.util.MemoryReductionUtil; import hudson.util.QuotedStringTokenizer; @@ -692,6 +693,7 @@ public class Util { * number of milliseconds. */ @Nonnull + @SuppressFBWarnings(value = "ICAST_IDIV_CAST_TO_DOUBLE", justification = "We want to truncate here.") public static String getTimeSpanString(long duration) { // Break the duration up in to units. long years = duration / ONE_YEAR_MS; diff --git a/core/src/main/java/hudson/cli/DisablePluginCommand.java b/core/src/main/java/hudson/cli/DisablePluginCommand.java index 101576e90442b3b20c901563bfb356b02364ac83..70b4806f99fc9570572c7b36c56e8b6dad91256c 100644 --- a/core/src/main/java/hudson/cli/DisablePluginCommand.java +++ b/core/src/main/java/hudson/cli/DisablePluginCommand.java @@ -220,15 +220,15 @@ public class DisablePluginCommand extends CLICommand { break; case NO_SUCH_PLUGIN: returnCode = RETURN_CODE_NO_SUCH_PLUGIN; - } - - if (returnCode == 0) { - for (PluginWrapper.PluginDisableResult oneDependentResult : result.getDependentsDisableStatus()) { - returnCode = getResultCode(oneDependentResult); - if (returnCode != 0) { - break; + break; + default: + for (PluginWrapper.PluginDisableResult oneDependentResult : result.getDependentsDisableStatus()) { + returnCode = getResultCode(oneDependentResult); + if (returnCode != 0) { + break; + } } - } + break; } return returnCode; diff --git a/core/src/main/java/hudson/model/Queue.java b/core/src/main/java/hudson/model/Queue.java index 3a8be8a72940b36af74a434af789b8e3bd13cbc7..5606dbd701373840f4d90895bc7adad66cf793b1 100644 --- a/core/src/main/java/hudson/model/Queue.java +++ b/core/src/main/java/hudson/model/Queue.java @@ -2417,6 +2417,7 @@ public class Queue extends ResourceController implements Saveable { */ @Restricted(NoExternalUse.class) @ExportedBean(defaultVisibility = 999) + @SuppressFBWarnings(value = "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD", justification = "it is exported, so it might be used") public class StubItem { @Exported public StubTask task; diff --git a/core/src/main/java/hudson/model/UpdateCenter.java b/core/src/main/java/hudson/model/UpdateCenter.java index 68aa6f3f2593a1770844a486e507285568ae4017..f1d4dd79ce6da9bc6cb4196b0ce9493cb89de4a4 100644 --- a/core/src/main/java/hudson/model/UpdateCenter.java +++ b/core/src/main/java/hudson/model/UpdateCenter.java @@ -1999,11 +1999,14 @@ public class UpdateCenter extends AbstractModelObject implements Saveable, OnMas return; case FAIL: throwVerificationFailure(entry.getSha512(), job.getComputedSHA512(), file, "SHA-512"); + break; case NOT_COMPUTED: LOGGER.log(WARNING, "Attempt to verify a downloaded file (" + file.getName() + ") using SHA-512 failed since it could not be computed. Falling back to weaker algorithms. Update your JRE."); break; case NOT_PROVIDED: break; + default: + throw new IllegalStateException("Unexpected value: " + result512); } VerificationResult result256 = verifyChecksums(entry.getSha256(), job.getComputedSHA256(), false); @@ -2012,9 +2015,12 @@ public class UpdateCenter extends AbstractModelObject implements Saveable, OnMas return; case FAIL: throwVerificationFailure(entry.getSha256(), job.getComputedSHA256(), file, "SHA-256"); + break; case NOT_COMPUTED: case NOT_PROVIDED: break; + default: + throw new IllegalStateException("Unexpected value: " + result256); } if (result512 == VerificationResult.NOT_PROVIDED && result256 == VerificationResult.NOT_PROVIDED) { @@ -2027,6 +2033,7 @@ public class UpdateCenter extends AbstractModelObject implements Saveable, OnMas return; case FAIL: throwVerificationFailure(entry.getSha1(), job.getComputedSHA1(), file, "SHA-1"); + break; case NOT_COMPUTED: throw new IOException("Failed to compute SHA-1 of downloaded file, refusing installation"); case NOT_PROVIDED: diff --git a/core/src/main/java/hudson/util/jna/SHELLEXECUTEINFO.java b/core/src/main/java/hudson/util/jna/SHELLEXECUTEINFO.java index 506242c9aaa0207358125dfbd7055d150c94bd5d..0bfc5e627ff74db0ab0539bd06e1cae123a54bb7 100644 --- a/core/src/main/java/hudson/util/jna/SHELLEXECUTEINFO.java +++ b/core/src/main/java/hudson/util/jna/SHELLEXECUTEINFO.java @@ -57,7 +57,8 @@ typedef struct _SHELLEXECUTEINFO { * @author Kohsuke Kawaguchi * @see MSDN: SHELLEXECUTEINFO */ -@SuppressFBWarnings(value = "UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD", justification = "JNA Data Structure") +@SuppressFBWarnings(value = {"UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD", "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"}, + justification = "JNA Data Structure") public class SHELLEXECUTEINFO extends Structure { public int cbSize = size(); public int fMask; @@ -87,7 +88,8 @@ public class SHELLEXECUTEINFO extends Structure { "hProcess"); } - @SuppressFBWarnings(value = "UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD", justification = "JNA Data Structure") + @SuppressFBWarnings(value = {"UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD", "URF_UNREAD_PUBLIC_OR_PROTECTED_FIELD"}, + justification = "JNA Data Structure") public static class DUMMYUNIONNAME_union extends Union { public Pointer hIcon; public Pointer hMonitor;