From fabead2ec89afbd2c0644b902c79247ba704652b Mon Sep 17 00:00:00 2001 From: Dave Borowitz Date: Fri, 24 May 2019 10:09:53 -0700 Subject: [PATCH] Error Prone: Enable and fix StringEquality There is one instance that needs to be suppressed because the JGit API depends on returning a sentinel that is used with reference equality. Arguably, this static method should be moved to JGit, but for now it's easy enough to suppress. The benefits of avoiding bugs in this case outweighs this annoyance. Change-Id: I636dbedaa299c169926471f75fc3ef5c7d48285e --- java/com/google/gerrit/sshd/commands/UploadArchive.java | 7 ++++++- tools/BUILD | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/java/com/google/gerrit/sshd/commands/UploadArchive.java b/java/com/google/gerrit/sshd/commands/UploadArchive.java index 24f82a78ab..c49622d030 100644 --- a/java/com/google/gerrit/sshd/commands/UploadArchive.java +++ b/java/com/google/gerrit/sshd/commands/UploadArchive.java @@ -139,7 +139,7 @@ public class UploadArchive extends AbstractGitCommand { PacketLineIn packetIn = new PacketLineIn(in); for (; ; ) { String s = packetIn.readString(); - if (s == PacketLineIn.END) { + if (isPacketLineEnd(s)) { break; } if (!s.startsWith(argCmd)) { @@ -163,6 +163,11 @@ public class UploadArchive extends AbstractGitCommand { } } + @SuppressWarnings("StringEquality") // JGit API depends on reference equality with sentinel. + private static boolean isPacketLineEnd(String s) { + return s == PacketLineIn.END; + } + @Override protected void runImpl() throws IOException, PermissionBackendException, Failure { PacketLineOut packetOut = new PacketLineOut(out); diff --git a/tools/BUILD b/tools/BUILD index abf0691ed9..bd685d963d 100644 --- a/tools/BUILD +++ b/tools/BUILD @@ -41,6 +41,7 @@ java_package_configuration( "-XepDisableWarningsInGeneratedCode", "-Xep:AmbiguousMethodReference:ERROR", "-Xep:BadComparable:ERROR", + "-Xep:StringEquality:ERROR", "-Xep:MissingCasesInEnumSwitch:ERROR", "-Xep:WildcardImport:ERROR", ],