diff --git a/build.gradle b/build.gradle
index 0ea9f68bd..44eb037af 100644
--- a/build.gradle
+++ b/build.gradle
@@ -10,7 +10,7 @@ buildscript {
classpath 'org.kordamp:markdown-gradle-plugin:1.0.0'
classpath 'org.kordamp.gradle:clirr-gradle-plugin:0.2.2'
classpath "org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.3.1"
- classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.10'
+ classpath 'net.ltgt.gradle:gradle-errorprone-plugin:0.0.13'
}
}
@@ -160,7 +160,15 @@ allprojects {
'-Xlint:-path',
// Disable errorprone checks
'-Xep:TypeParameterUnusedInFormals:OFF',
- '-Xep:TopLevel:OFF',
+ // Disable errorpone StringSplitter check, as it
+ // recommends using Splitter from Guava, which we don't
+ // have (nor want to use in Smack).
+ '-Xep:StringSplitter:OFF',
+ '-Xep:JdkObsolete:OFF',
+ // Disabled because sinttest re-uses BeforeClass from junit.
+ // TODO: change sinttest so that it has it's own
+ // BeforeClass and re-enable this check.
+ '-Xep:JUnit4ClassAnnotationNonStatic:OFF',
]
}
@@ -191,11 +199,8 @@ allprojects {
options.encoding = 'UTF-8'
}
- // Pin the errorprone version to prevent "unsupported major.minor
- // version 52.0" error messages caused by the errorprone javac.
- // See https://github.com/tbroyer/gradle-errorprone-plugin/issues/18 for more information.
- configurations.errorprone {
- resolutionStrategy.force 'com.google.errorprone:error_prone_core:2.0.18'
+ dependencies {
+ errorprone 'com.google.errorprone:error_prone_core:2.2.0'
}
// Make all project's 'test' target depend on javadoc, so that
diff --git a/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/XMPPBOSHConnection.java b/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/XMPPBOSHConnection.java
index 03c180a15..6049a76ab 100644
--- a/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/XMPPBOSHConnection.java
+++ b/smack-bosh/src/main/java/org/jivesoftware/smack/bosh/XMPPBOSHConnection.java
@@ -88,6 +88,7 @@ public class XMPPBOSHConnection extends AbstractXMPPConnection {
/**
* Holds the initial configuration used while creating the connection.
*/
+ @SuppressWarnings("HidingField")
private final BOSHConfiguration config;
// Some flags which provides some info about the current state.
diff --git a/smack-core/src/test/java/org/jivesoftware/smack/SmackConfigurationTest.java b/smack-core/src/test/java/org/jivesoftware/smack/SmackConfigurationTest.java
index a863d44dd..2d9de46c1 100644
--- a/smack-core/src/test/java/org/jivesoftware/smack/SmackConfigurationTest.java
+++ b/smack-core/src/test/java/org/jivesoftware/smack/SmackConfigurationTest.java
@@ -18,20 +18,18 @@ package org.jivesoftware.smack;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import org.junit.Ignore;
import org.junit.Test;
public class SmackConfigurationTest {
+ /**
+ * Test is Smack is able to initialize itself without throwing a Throwable.
+ */
@Test
public void testSmackConfiguration() {
- try {
- SmackConfiguration.getDefaultReplyTimeout();
- } catch (Throwable t) {
- fail("SmackConfiguration threw Throwable");
- }
+ SmackConfiguration.getDefaultReplyTimeout();
}
// As there is currently no annotation/way to run a testclass/single test in a separate VM,
diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransfer.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransfer.java
index 796b989f1..a4dcf9231 100644
--- a/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransfer.java
+++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FileTransfer.java
@@ -312,6 +312,7 @@ public abstract class FileTransfer {
return amountWritten;
}
+ @SuppressWarnings("JavaLangClash")
public enum Error {
/**
* No error.
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java
index 888476a4f..ff9997f89 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManagerTest.java
@@ -160,7 +160,7 @@ public class InBandBytestreamManagerTest extends InitExtensions {
}
@Test
- public void shouldUseConfiguredStanzaType() throws SmackException, InterruptedException {
+ public void shouldUseConfiguredStanzaType() throws SmackException, InterruptedException, XMPPException {
InBandBytestreamManager byteStreamManager = InBandBytestreamManager.getByteStreamManager(connection);
byteStreamManager.setStanza(StanzaType.MESSAGE);
@@ -173,14 +173,10 @@ public class InBandBytestreamManagerTest extends InitExtensions {
});
- try {
- // start In-Band Bytestream
- byteStreamManager.establishSession(targetJID);
- }
- catch (XMPPException e) {
- protocol.verifyAll();
- }
+ // start In-Band Bytestream
+ byteStreamManager.establishSession(targetJID);
+ protocol.verifyAll();
}
@Test
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java
index 461ce7e8a..5cfe0b302 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/pubsub/ConfigureFormTest.java
@@ -17,6 +17,7 @@
package org.jivesoftware.smackx.pubsub;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
import java.io.IOException;
@@ -77,6 +78,7 @@ public class ConfigureFormTest extends InitExtensions
try
{
node.getNodeConfiguration();
+ fail();
}
catch (XMPPErrorException e)
{
diff --git a/smack-extensions/src/test/java/org/jivesoftware/smackx/xdatavalidation/DataValidationHelperTest.java b/smack-extensions/src/test/java/org/jivesoftware/smackx/xdatavalidation/DataValidationHelperTest.java
index a1ac22160..84ee4117e 100644
--- a/smack-extensions/src/test/java/org/jivesoftware/smackx/xdatavalidation/DataValidationHelperTest.java
+++ b/smack-extensions/src/test/java/org/jivesoftware/smackx/xdatavalidation/DataValidationHelperTest.java
@@ -67,12 +67,7 @@ public class DataValidationHelperTest {
}
field.setType(FormField.Type.list_multi);
- try {
- element.checkConsistency(field);
- }
- catch (ValidationConsistencyException e) {
- fail("No correct check on consistency");
- }
+ element.checkConsistency(field);
}
diff --git a/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java b/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java
index da562aae6..c2f7bf049 100644
--- a/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java
+++ b/smack-im/src/test/java/org/jivesoftware/smack/chat/ChatConnectionTest.java
@@ -21,7 +21,6 @@ import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
import org.jivesoftware.smack.DummyConnection;
import org.jivesoftware.smack.packet.Message;
@@ -343,7 +342,7 @@ public class ChatConnectionTest {
try {
chatServer.join();
} catch (InterruptedException e) {
- fail();
+ throw new AssertionError(e);
}
waitListener.waitAndReset();
}
diff --git a/smack-im/src/test/java/org/jivesoftware/smack/roster/RosterTest.java b/smack-im/src/test/java/org/jivesoftware/smack/roster/RosterTest.java
index a52d9566e..6372e28d8 100644
--- a/smack-im/src/test/java/org/jivesoftware/smack/roster/RosterTest.java
+++ b/smack-im/src/test/java/org/jivesoftware/smack/roster/RosterTest.java
@@ -683,9 +683,9 @@ public class RosterTest extends InitSmackIm {
connection.processStanza(response);
// Verify the roster update request
- assertSame("A roster set MUST contain one and only one element.",
- 1,
- rosterRequest.getRosterItemCount());
+ if (rosterRequest.getRosterItemCount() != 1) {
+ throw new AssertionError("A roster set MUST contain one and only one element.");
+ }
verifyUpdateRequest(rosterRequest);
break;
}
diff --git a/smack-im/src/test/java/org/jivesoftware/smack/roster/SubscriptionPreApprovalTest.java b/smack-im/src/test/java/org/jivesoftware/smack/roster/SubscriptionPreApprovalTest.java
index 129e4fe2e..c434460b1 100644
--- a/smack-im/src/test/java/org/jivesoftware/smack/roster/SubscriptionPreApprovalTest.java
+++ b/smack-im/src/test/java/org/jivesoftware/smack/roster/SubscriptionPreApprovalTest.java
@@ -180,9 +180,9 @@ public class SubscriptionPreApprovalTest extends InitSmackIm {
connection.processStanza(response);
// Verify the roster update request
- assertSame("A roster set MUST contain one and only one element.",
- 1,
- rosterRequest.getRosterItemCount());
+ if (rosterRequest.getRosterItemCount() != 1) {
+ throw new AssertionError("A roster set MUST contain one and only one element.");
+ }
verifyRosterUpdateRequest(rosterRequest);
break;
}
diff --git a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoKeyTransportTest.java b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoKeyTransportTest.java
index 90cabb88b..dde41eb15 100644
--- a/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoKeyTransportTest.java
+++ b/smack-integration-test/src/main/java/org/jivesoftware/smackx/omemo/OmemoKeyTransportTest.java
@@ -23,7 +23,6 @@ import static org.jivesoftware.smackx.omemo.OmemoIntegrationTestHelper.unidirect
import static org.junit.Assert.assertTrue;
import java.util.Arrays;
-import java.util.concurrent.TimeoutException;
import java.util.logging.Level;
import org.jivesoftware.smack.SmackException;
@@ -37,7 +36,6 @@ import org.jivesoftware.smackx.omemo.internal.OmemoMessageInformation;
import org.jivesoftware.smackx.omemo.listener.OmemoMessageListener;
import org.jivesoftware.smackx.omemo.util.OmemoMessageBuilder;
-import junit.framework.TestCase;
import org.igniterealtime.smack.inttest.SmackIntegrationTest;
import org.igniterealtime.smack.inttest.SmackIntegrationTestEnvironment;
import org.igniterealtime.smack.inttest.TestNotPossibleException;
@@ -97,11 +95,8 @@ public class OmemoKeyTransportTest extends AbstractOmemoIntegrationTest {
ChatManager.getInstanceFor(alice.getConnection()).chatWith(bob.getOwnJid().asEntityBareJidIfPossible())
.send(message);
- try {
- syncPoint.waitForResult(10 * 1000);
- } catch (TimeoutException e) {
- TestCase.fail("We MUST have received the keyTransportMessage within 10 seconds.");
- }
+ // TODO: Should use 'timeout' field instead of hardcoded '10 * 1000'.
+ syncPoint.waitForResult(10 * 1000);
}
@Override
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java
index 6ee9a0a9b..b90fb0010 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/AgentStatus.java
@@ -39,7 +39,7 @@ import org.xmlpull.v1.XmlPullParserException;
*/
public class AgentStatus implements ExtensionElement {
- @SuppressWarnings("SimpleDateFormatConstant")
+ @SuppressWarnings("DateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java
index a84eb23a6..224b7fd80 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OccupantsInfo.java
@@ -41,7 +41,7 @@ import org.xmlpull.v1.XmlPullParserException;
*/
public class OccupantsInfo extends IQ {
- @SuppressWarnings("SimpleDateFormatConstant")
+ @SuppressWarnings("DateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java
index 9077d9723..6f0ea313b 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/Transcripts.java
@@ -37,7 +37,7 @@ import org.jxmpp.jid.Jid;
*/
public class Transcripts extends IQ {
- @SuppressWarnings("SimpleDateFormatConstant")
+ @SuppressWarnings("DateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
UTC_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+0"));
diff --git a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java
index 147e65056..0909a4859 100644
--- a/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java
+++ b/smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/TranscriptsProvider.java
@@ -39,7 +39,7 @@ import org.xmlpull.v1.XmlPullParserException;
*/
public class TranscriptsProvider extends IQProvider {
- @SuppressWarnings("SimpleDateFormatConstant")
+ @SuppressWarnings("DateFormatConstant")
private static final SimpleDateFormat UTC_FORMAT = new SimpleDateFormat("yyyyMMdd'T'HH:mm:ss");
static {
UTC_FORMAT.setTimeZone(TimeZone.getTimeZone("GMT+0"));
diff --git a/smack-omemo-signal/src/test/java/org/jivesoftware/smack/omemo/SignalOmemoKeyUtilTest.java b/smack-omemo-signal/src/test/java/org/jivesoftware/smack/omemo/SignalOmemoKeyUtilTest.java
index 935d3c9bb..ecd322e97 100644
--- a/smack-omemo-signal/src/test/java/org/jivesoftware/smack/omemo/SignalOmemoKeyUtilTest.java
+++ b/smack-omemo-signal/src/test/java/org/jivesoftware/smack/omemo/SignalOmemoKeyUtilTest.java
@@ -24,7 +24,6 @@ import static junit.framework.TestCase.assertEquals;
import static junit.framework.TestCase.assertNotNull;
import static junit.framework.TestCase.assertNotSame;
import static junit.framework.TestCase.assertTrue;
-import static junit.framework.TestCase.fail;
import java.util.HashMap;
import java.util.Iterator;
@@ -66,32 +65,24 @@ public class SignalOmemoKeyUtilTest extends SmackTestSuite {
}
@Test
- public void omemoIdentityKeyPairSerializationTest() {
+ public void omemoIdentityKeyPairSerializationTest() throws CorruptedOmemoKeyException {
IdentityKeyPair ikp = keyUtil.generateOmemoIdentityKeyPair();
byte[] bytes = keyUtil.identityKeyPairToBytes(ikp);
assertNotNull("serialized identityKeyPair must not be null.",
bytes);
assertNotSame("serialized identityKeyPair must not be of length 0.",
0, bytes.length);
- try {
- IdentityKeyPair ikp2 = keyUtil.identityKeyPairFromBytes(bytes);
- assertTrue("Deserialized IdentityKeyPairs PublicKey must equal the originals one.",
+
+ IdentityKeyPair ikp2 = keyUtil.identityKeyPairFromBytes(bytes);
+ assertTrue("Deserialized IdentityKeyPairs PublicKey must equal the originals one.",
ikp.getPublicKey().equals(ikp2.getPublicKey()));
- } catch (CorruptedOmemoKeyException e) {
- fail("Caught exception while deserializing IdentityKeyPair.");
- }
}
@Test
- public void omemoIdentityKeySerializationTest() {
+ public void omemoIdentityKeySerializationTest() throws CorruptedOmemoKeyException {
IdentityKey k = keyUtil.generateOmemoIdentityKeyPair().getPublicKey();
-
- try {
- assertEquals("Deserialized IdentityKey must equal the original one.",
- k, keyUtil.identityKeyFromBytes(keyUtil.identityKeyToBytes(k)));
- } catch (CorruptedOmemoKeyException e) {
- fail("Caught exception while serializing and deserializing identityKey (" + e + "): " + e.getMessage());
- }
+ assertEquals("Deserialized IdentityKey must equal the original one.", k,
+ keyUtil.identityKeyFromBytes(keyUtil.identityKeyToBytes(k)));
}
@Test
@@ -103,16 +94,12 @@ public class SignalOmemoKeyUtilTest extends SmackTestSuite {
}
@Test
- public void generateOmemoSignedPreKeyTest() {
+ public void generateOmemoSignedPreKeyTest() throws CorruptedOmemoKeyException {
IdentityKeyPair ikp = keyUtil.generateOmemoIdentityKeyPair();
- try {
- SignedPreKeyRecord spk = keyUtil.generateOmemoSignedPreKey(ikp, 1);
- assertNotNull("SignedPreKey must not be null.", spk);
- assertEquals("SignedPreKeyId must match.", 1, spk.getId());
- assertEquals("singedPreKeyId must match here also.", 1, keyUtil.signedPreKeyIdFromKey(spk));
- } catch (CorruptedOmemoKeyException e) {
- fail("Caught an exception while generating signedPreKey (" + e + "): " + e.getMessage());
- }
+ SignedPreKeyRecord spk = keyUtil.generateOmemoSignedPreKey(ikp, 1);
+ assertNotNull("SignedPreKey must not be null.", spk);
+ assertEquals("SignedPreKeyId must match.", 1, spk.getId());
+ assertEquals("singedPreKeyId must match here also.", 1, keyUtil.signedPreKeyIdFromKey(spk));
}
@Test
@@ -124,25 +111,17 @@ public class SignalOmemoKeyUtilTest extends SmackTestSuite {
}
@Test
- public void addressToDeviceTest() {
- SignalProtocolAddress address = new SignalProtocolAddress("test@server.tld",1337);
- try {
- OmemoDevice device = keyUtil.addressAsOmemoDevice(address);
- assertEquals(device, new OmemoDevice(JidCreate.bareFrom("test@server.tld"), 1337));
- } catch (XmppStringprepException e) {
- fail("Could not convert address to device: " + e + " " + e.getMessage());
- }
+ public void addressToDeviceTest() throws XmppStringprepException {
+ SignalProtocolAddress address = new SignalProtocolAddress("test@server.tld", 1337);
+ OmemoDevice device = keyUtil.addressAsOmemoDevice(address);
+ assertEquals(device, new OmemoDevice(JidCreate.bareFrom("test@server.tld"), 1337));
}
@Test
- public void deviceToAddressTest() {
- try {
- OmemoDevice device = new OmemoDevice(JidCreate.bareFrom("test@server.tld"), 1337);
- SignalProtocolAddress address = keyUtil.omemoDeviceAsAddress(device);
- assertEquals(address, new SignalProtocolAddress("test@server.tld", 1337));
- } catch (XmppStringprepException e) {
- fail("Could not convert device to address: " + e + " " + e.getMessage());
- }
+ public void deviceToAddressTest() throws XmppStringprepException {
+ OmemoDevice device = new OmemoDevice(JidCreate.bareFrom("test@server.tld"), 1337);
+ SignalProtocolAddress address = keyUtil.omemoDeviceAsAddress(device);
+ assertEquals(address, new SignalProtocolAddress("test@server.tld", 1337));
}
@Test
diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
index b49a673ed..df9bba343 100644
--- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
+++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
@@ -293,6 +293,7 @@ public class XMPPTCPConnection extends AbstractXMPPConnection {
*/
private final Set requestAckPredicates = new LinkedHashSet<>();
+ @SuppressWarnings("HidingField")
private final XMPPTCPConnectionConfiguration config;
/**