You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zipkin.apache.org by ad...@apache.org on 2019/05/20 13:38:34 UTC

[incubator-zipkin-reporter-java] branch master updated: Polishes for ASF release (#145)

This is an automated email from the ASF dual-hosted git repository.

adriancole pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-zipkin-reporter-java.git


The following commit(s) were added to refs/heads/master by this push:
     new 97d4364  Polishes for ASF release (#145)
97d4364 is described below

commit 97d436447a0d87e30474718a923f35ff00b73041
Author: Adrian Cole <ad...@users.noreply.github.com>
AuthorDate: Mon May 20 15:38:30 2019 +0200

    Polishes for ASF release (#145)
---
 .mvn/wrapper/MavenWrapperDownloader.java           |  4 +-
 .mvn/wrapper/maven-wrapper.properties              |  2 +-
 amqp-client/pom.xml                                |  9 +-
 ...bbitMQSenderTest.java => ITRabbitMQSender.java} |  5 +-
 benchmarks/pom.xml                                 |  9 +-
 .../zipkin2/reporter/AsyncReporterBenchmarks.java  |  1 +
 bom/pom.xml                                        | 46 +++++++----
 .../java/zipkin2/reporter/AsyncReporterTest.java   |  1 +
 .../zipkin2/reporter/AwaitableCallbackTest.java    |  3 +-
 .../test/java/zipkin2/reporter/TestObjects.java    | 96 ----------------------
 kafka08/pom.xml                                    |  7 --
 .../{KafkaSenderTest.java => ITKafkaSender.java}   |  4 +-
 kafka11/pom.xml                                    | 11 +--
 .../{KafkaSenderTest.java => ITKafkaSender.java}   |  4 +-
 libthrift/pom.xml                                  |  7 --
 ...hriftSenderTest.java => ITLibthriftSender.java} |  6 +-
 .../libthrift/InternalScribeCodecTest.java         |  6 +-
 mvnw                                               |  4 +-
 mvnw.cmd                                           |  4 +-
 okhttp3/pom.xml                                    |  7 --
 .../zipkin2/reporter/okhttp3/OkHttpSenderTest.java |  8 +-
 pom.xml                                            | 63 +++++++++-----
 urlconnection/pom.xml                              |  6 --
 .../urlconnection/URLConnectionSenderTest.java     |  2 +-
 24 files changed, 110 insertions(+), 205 deletions(-)

diff --git a/.mvn/wrapper/MavenWrapperDownloader.java b/.mvn/wrapper/MavenWrapperDownloader.java
index 1ef8d69..c32394f 100644
--- a/.mvn/wrapper/MavenWrapperDownloader.java
+++ b/.mvn/wrapper/MavenWrapperDownloader.java
@@ -20,12 +20,12 @@ import java.util.Properties;
 
 public class MavenWrapperDownloader {
 
-    private static final String WRAPPER_VERSION = "0.5.4";
+    private static final String WRAPPER_VERSION = "0.5.5";
     /**
      * Default URL to download the maven-wrapper.jar from, if no 'downloadUrl' is provided.
      */
     private static final String DEFAULT_DOWNLOAD_URL = "https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/"
-        + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + " .jar";
+        + WRAPPER_VERSION + "/maven-wrapper-" + WRAPPER_VERSION + ".jar";
 
     /**
      * Path to the maven-wrapper.properties file, which might contain a downloadUrl property to
diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index ec07118..fa87ad7 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1,2 +1,2 @@
 distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
diff --git a/amqp-client/pom.xml b/amqp-client/pom.xml
index e96de6d..247264e 100644
--- a/amqp-client/pom.xml
+++ b/amqp-client/pom.xml
@@ -31,7 +31,7 @@
 
   <properties>
     <main.basedir>${project.basedir}/..</main.basedir>
-    <amqp-client.version>4.10.0</amqp-client.version>
+    <amqp-client.version>4.11.0</amqp-client.version>
   </properties>
 
   <dependencies>
@@ -45,13 +45,6 @@
       <artifactId>amqp-client</artifactId>
       <version>${amqp-client.version}</version>
     </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
   </dependencies>
 
   <build>
diff --git a/amqp-client/src/test/java/zipkin2/reporter/amqp/RabbitMQSenderTest.java b/amqp-client/src/test/java/zipkin2/reporter/amqp/ITRabbitMQSender.java
similarity index 97%
rename from amqp-client/src/test/java/zipkin2/reporter/amqp/RabbitMQSenderTest.java
rename to amqp-client/src/test/java/zipkin2/reporter/amqp/ITRabbitMQSender.java
index b220898..bdcdc0b 100644
--- a/amqp-client/src/test/java/zipkin2/reporter/amqp/RabbitMQSenderTest.java
+++ b/amqp-client/src/test/java/zipkin2/reporter/amqp/ITRabbitMQSender.java
@@ -42,9 +42,10 @@ import zipkin2.reporter.Sender;
 
 import static java.util.stream.Collectors.toList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.CLIENT_SPAN;
 
-public class RabbitMQSenderTest {
+/** This works against a running RabbitMQ server on localhost */
+public class ITRabbitMQSender {
   @Rule public ExpectedException thrown = ExpectedException.none();
 
   RabbitMQSender sender;
diff --git a/benchmarks/pom.xml b/benchmarks/pom.xml
index 5afea8d..c33fe15 100644
--- a/benchmarks/pom.xml
+++ b/benchmarks/pom.xml
@@ -76,9 +76,8 @@
     </dependency>
 
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
+      <artifactId>zipkin-tests</artifactId>
       <scope>compile</scope>
     </dependency>
 
@@ -104,8 +103,8 @@
     <dependency>
       <groupId>com.github.charithe</groupId>
       <artifactId>kafka-junit</artifactId>
-      <!-- pinned to 2.1.1 -->
-      <version>4.1.4</version>
+      <!-- pinned to 2.2.0 -->
+      <version>4.1.5</version>
     </dependency>
     <dependency>
       <groupId>junit</groupId>
diff --git a/benchmarks/src/main/java/zipkin2/reporter/AsyncReporterBenchmarks.java b/benchmarks/src/main/java/zipkin2/reporter/AsyncReporterBenchmarks.java
index 9b390cb..927d24c 100644
--- a/benchmarks/src/main/java/zipkin2/reporter/AsyncReporterBenchmarks.java
+++ b/benchmarks/src/main/java/zipkin2/reporter/AsyncReporterBenchmarks.java
@@ -36,6 +36,7 @@ import org.openjdk.jmh.annotations.State;
 import org.openjdk.jmh.annotations.TearDown;
 import org.openjdk.jmh.annotations.Warmup;
 import zipkin2.Span;
+import zipkin2.TestObjects;
 import zipkin2.codec.Encoding;
 
 @Measurement(iterations = 5, time = 1)
diff --git a/bom/pom.xml b/bom/pom.xml
index df3762e..c2e43dd 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -17,7 +17,7 @@
   <properties>
     <main.basedir>${project.basedir}/..</main.basedir>
     <!-- use the same value in ../pom.xml -->
-    <zipkin.version>2.13.0</zipkin.version>
+    <zipkin.version>2.14.0</zipkin.version>
   </properties>
 
   <url>https://github.com/apache/incubator-zipkin-reporter-java</url>
@@ -52,22 +52,37 @@
     </developer>
   </developers>
 
+  <issueManagement>
+    <system>Github</system>
+    <url>https://github.com/apache/incubator-zipkin-reporter-java/issues</url>
+  </issueManagement>
+
+  <mailingLists>
+    <mailingList>
+      <name>Zipkin Developer List</name>
+      <post>dev@zipkin.apache.org</post>
+      <subscribe>dev-subscribe@zipkin.apache.org</subscribe>
+      <unsubscribe>dev-unsubscribe@zipkin.apache.org</unsubscribe>
+    </mailingList>
+    <mailingList>
+      <name>Zipkin Commits</name>
+      <post>commits@zipkin.apache.org</post>
+      <subscribe>commits-subscribe@zipkin.apache.org</subscribe>
+      <unsubscribe>commits-unsubscribe@zipkin.apache.org</unsubscribe>
+    </mailingList>
+  </mailingLists>
+
   <distributionManagement>
     <repository>
-      <id>bintray</id>
-      <url>https://api.bintray.com/maven/openzipkin/maven/zipkin-reporter-java/;publish=1</url>
+      <id>apache.releases.https</id>
+      <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
     </repository>
     <snapshotRepository>
-      <id>jfrog-snapshots</id>
-      <url>https://oss.jfrog.org/artifactory/oss-snapshot-local</url>
+      <id>apache.snapshots.https</id>
+      <url>https://repository.apache.org/content/repositories/snapshots/</url>
     </snapshotRepository>
   </distributionManagement>
 
-  <issueManagement>
-    <system>Github</system>
-    <url>https://github.com/apache/incubator-zipkin-reporter-java/issues</url>
-  </issueManagement>
-
   <dependencyManagement>
     <dependencies>
       <dependency>
@@ -75,21 +90,20 @@
         <artifactId>zipkin</artifactId>
         <version>${zipkin.version}</version>
       </dependency>
-      <!-- Also set version of the JUnit rule that tests reporters -->
       <dependency>
         <groupId>org.apache.zipkin.zipkin2</groupId>
-        <artifactId>zipkin-junit</artifactId>
+        <artifactId>zipkin-tests</artifactId>
         <version>${zipkin.version}</version>
       </dependency>
+      <!-- Also set version of the JUnit rule that tests reporters -->
       <dependency>
-        <groupId>${project.groupId}</groupId>
-        <artifactId>zipkin-reporter</artifactId>
-        <version>${project.version}</version>
+        <groupId>org.apache.zipkin.zipkin2</groupId>
+        <artifactId>zipkin-junit</artifactId>
+        <version>${zipkin.version}</version>
       </dependency>
       <dependency>
         <groupId>${project.groupId}</groupId>
         <artifactId>zipkin-reporter</artifactId>
-        <type>test-jar</type>
         <version>${project.version}</version>
       </dependency>
       <dependency>
diff --git a/core/src/test/java/zipkin2/reporter/AsyncReporterTest.java b/core/src/test/java/zipkin2/reporter/AsyncReporterTest.java
index 0abad97..bc290ab 100644
--- a/core/src/test/java/zipkin2/reporter/AsyncReporterTest.java
+++ b/core/src/test/java/zipkin2/reporter/AsyncReporterTest.java
@@ -26,6 +26,7 @@ import java.util.concurrent.atomic.AtomicInteger;
 import org.junit.After;
 import org.junit.Test;
 import zipkin2.Span;
+import zipkin2.TestObjects;
 import zipkin2.codec.BytesEncoder;
 import zipkin2.codec.Encoding;
 import zipkin2.codec.SpanBytesEncoder;
diff --git a/core/src/test/java/zipkin2/reporter/AwaitableCallbackTest.java b/core/src/test/java/zipkin2/reporter/AwaitableCallbackTest.java
index 34473ad..623f61e 100644
--- a/core/src/test/java/zipkin2/reporter/AwaitableCallbackTest.java
+++ b/core/src/test/java/zipkin2/reporter/AwaitableCallbackTest.java
@@ -21,7 +21,6 @@ import java.util.concurrent.atomic.AtomicBoolean;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.rules.ExpectedException;
-import zipkin2.reporter.AwaitableCallback;
 
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
@@ -102,4 +101,4 @@ public class AwaitableCallbackTest {
     thrown.expectCause(isA(MyThrowable.class));
     captor.await();
   }
-}
\ No newline at end of file
+}
diff --git a/core/src/test/java/zipkin2/reporter/TestObjects.java b/core/src/test/java/zipkin2/reporter/TestObjects.java
deleted file mode 100644
index 0cfe894..0000000
--- a/core/src/test/java/zipkin2/reporter/TestObjects.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package zipkin2.reporter;
-
-import java.nio.charset.Charset;
-import java.util.Calendar;
-import java.util.Random;
-import java.util.TimeZone;
-import java.util.concurrent.TimeUnit;
-import zipkin2.Endpoint;
-import zipkin2.Span;
-
-// TODO: replace with zipkin-tests jar!
-public final class TestObjects {
-  public static final Charset UTF_8 = Charset.forName("UTF-8");
-  /** Notably, the cassandra implementation has day granularity */
-  public static final long DAY = TimeUnit.MILLISECONDS.convert(1, TimeUnit.DAYS);
-  public static final TimeZone UTC = TimeZone.getTimeZone("UTC");
-
-  // Use real time, as most span-stores have TTL logic which looks back several days.
-  public static final long TODAY = midnightUTC(System.currentTimeMillis());
-
-  public static final Endpoint FRONTEND = Endpoint.newBuilder()
-    .serviceName("frontend")
-    .ip("127.0.0.1")
-    .build();
-  public static final Endpoint BACKEND = Endpoint.newBuilder()
-    .serviceName("backend")
-    .ip("192.168.99.101")
-    .port(9000)
-    .build();
-
-  /** For bucketed data floored to the day. For example, dependency links. */
-  public static long midnightUTC(long epochMillis) {
-    Calendar day = Calendar.getInstance(UTC);
-    day.setTimeInMillis(epochMillis);
-    day.set(Calendar.MILLISECOND, 0);
-    day.set(Calendar.SECOND, 0);
-    day.set(Calendar.MINUTE, 0);
-    day.set(Calendar.HOUR_OF_DAY, 0);
-    return day.getTimeInMillis();
-  }
-
-  public static final Span CLIENT_SPAN = Span.newBuilder()
-    .traceId("7180c278b62e8f6a216a2aea45d08fc9")
-    .parentId("6b221d5bc9e6496c")
-    .id("5b4185666d50f68b")
-    .name("get")
-    .kind(Span.Kind.CLIENT)
-    .localEndpoint(FRONTEND)
-    .remoteEndpoint(BACKEND)
-    .timestamp(1472470996199000L)
-    .duration(207000L)
-    .addAnnotation(1472470996238000L, "foo")
-    .putTag("http.path", "/api")
-    .putTag("clnt/finagle.version", "6.45.0")
-    .build();
-
-  static final Span.Builder spanBuilder = spanBuilder();
-
-  /** Reuse a builder as it is significantly slows tests to create 100000 of these! */
-  static Span.Builder spanBuilder() {
-    return Span.newBuilder()
-        .name("get /foo")
-        .timestamp(System.currentTimeMillis() * 1000)
-        .duration(1000)
-        .kind(Span.Kind.SERVER)
-        .localEndpoint(BACKEND)
-        .putTag("http.method", "GET");
-  }
-
-  /**
-   * Zipkin trace ids are random 64bit numbers. This creates a relatively large input to avoid
-   * flaking out due to PRNG nuance.
-   */
-  public static final Span[] LOTS_OF_SPANS =
-      new Random().longs(100_000).mapToObj(TestObjects::span).toArray(Span[]::new);
-
-  public static Span span(long traceId) {
-    return spanBuilder.traceId(Long.toHexString(traceId)).id(traceId).build();
-  }
-}
diff --git a/kafka08/pom.xml b/kafka08/pom.xml
index 2003e07..3f12100 100644
--- a/kafka08/pom.xml
+++ b/kafka08/pom.xml
@@ -55,13 +55,6 @@
     </dependency>
 
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
       <groupId>com.github.charithe</groupId>
       <artifactId>kafka-junit</artifactId>
       <!-- pinned to 0.8.2.2 -->
diff --git a/kafka08/src/test/java/zipkin2/reporter/kafka08/KafkaSenderTest.java b/kafka08/src/test/java/zipkin2/reporter/kafka08/ITKafkaSender.java
similarity index 98%
rename from kafka08/src/test/java/zipkin2/reporter/kafka08/KafkaSenderTest.java
rename to kafka08/src/test/java/zipkin2/reporter/kafka08/ITKafkaSender.java
index 6b1a273..0d135b6 100644
--- a/kafka08/src/test/java/zipkin2/reporter/kafka08/KafkaSenderTest.java
+++ b/kafka08/src/test/java/zipkin2/reporter/kafka08/ITKafkaSender.java
@@ -42,9 +42,9 @@ import zipkin2.reporter.Sender;
 
 import static java.util.stream.Collectors.toList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.CLIENT_SPAN;
 
-public class KafkaSenderTest {
+public class ITKafkaSender {
 
   @Rule public KafkaJunitRule kafka = new KafkaJunitRule();
   @Rule public ExpectedException thrown = ExpectedException.none();
diff --git a/kafka11/pom.xml b/kafka11/pom.xml
index 32dfd2f..f76f413 100644
--- a/kafka11/pom.xml
+++ b/kafka11/pom.xml
@@ -47,14 +47,7 @@
       <artifactId>kafka-clients</artifactId>
       <!-- recent clients can talk to old 0.10 brokers -->
       <!-- when changing this, a change to the version of kafka-junit is likely needed, too -->
-      <version>2.1.1</version>
-    </dependency>
-
-    <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
+      <version>2.2.0</version>
     </dependency>
 
     <dependency>
@@ -62,7 +55,7 @@
       <artifactId>kafka-junit</artifactId>
       <!-- This version is tightly coupled to the version of kafka-clients being used.
        https://github.com/charithe/kafka-junit -->
-      <version>4.1.4</version>
+      <version>4.1.5</version>
       <scope>test</scope>
     </dependency>
   </dependencies>
diff --git a/kafka11/src/test/java/zipkin2/reporter/kafka11/KafkaSenderTest.java b/kafka11/src/test/java/zipkin2/reporter/kafka11/ITKafkaSender.java
similarity index 98%
rename from kafka11/src/test/java/zipkin2/reporter/kafka11/KafkaSenderTest.java
rename to kafka11/src/test/java/zipkin2/reporter/kafka11/ITKafkaSender.java
index bef95ae..f0bc254 100644
--- a/kafka11/src/test/java/zipkin2/reporter/kafka11/KafkaSenderTest.java
+++ b/kafka11/src/test/java/zipkin2/reporter/kafka11/ITKafkaSender.java
@@ -45,9 +45,9 @@ import zipkin2.reporter.Sender;
 
 import static java.util.stream.Collectors.toList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.CLIENT_SPAN;
 
-public class KafkaSenderTest {
+public class ITKafkaSender {
   EphemeralKafkaBroker broker = EphemeralKafkaBroker.create();
   @Rule public KafkaJunitRule kafka = new KafkaJunitRule(broker).waitForStartup();
   @Rule public ExpectedException thrown = ExpectedException.none();
diff --git a/libthrift/pom.xml b/libthrift/pom.xml
index 41672f9..4e0be42 100644
--- a/libthrift/pom.xml
+++ b/libthrift/pom.xml
@@ -46,13 +46,6 @@
     </dependency>
 
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
       <groupId>org.apache.zipkin.zipkin2</groupId>
       <artifactId>zipkin-collector-scribe</artifactId>
       <version>${zipkin.version}</version>
diff --git a/libthrift/src/test/java/zipkin2/reporter/libthrift/LibthriftSenderTest.java b/libthrift/src/test/java/zipkin2/reporter/libthrift/ITLibthriftSender.java
similarity index 97%
rename from libthrift/src/test/java/zipkin2/reporter/libthrift/LibthriftSenderTest.java
rename to libthrift/src/test/java/zipkin2/reporter/libthrift/ITLibthriftSender.java
index a2f3b6f..92d4c8e 100644
--- a/libthrift/src/test/java/zipkin2/reporter/libthrift/LibthriftSenderTest.java
+++ b/libthrift/src/test/java/zipkin2/reporter/libthrift/ITLibthriftSender.java
@@ -35,10 +35,10 @@ import static java.util.Arrays.asList;
 import static java.util.stream.Collectors.toList;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
-import static zipkin2.reporter.TestObjects.LOTS_OF_SPANS;
+import static zipkin2.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.LOTS_OF_SPANS;
 
-public class LibthriftSenderTest {
+public class ITLibthriftSender {
   @Rule public ExpectedException thrown = ExpectedException.none();
 
   InMemoryStorage storage = InMemoryStorage.newBuilder().build();
diff --git a/libthrift/src/test/java/zipkin2/reporter/libthrift/InternalScribeCodecTest.java b/libthrift/src/test/java/zipkin2/reporter/libthrift/InternalScribeCodecTest.java
index 35b32f6..02f4a3f 100644
--- a/libthrift/src/test/java/zipkin2/reporter/libthrift/InternalScribeCodecTest.java
+++ b/libthrift/src/test/java/zipkin2/reporter/libthrift/InternalScribeCodecTest.java
@@ -29,9 +29,9 @@ import zipkin2.codec.SpanBytesEncoder;
 
 import static java.util.Arrays.asList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
-import static zipkin2.reporter.TestObjects.TODAY;
-import static zipkin2.reporter.TestObjects.UTF_8;
+import static zipkin2.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.TODAY;
+import static zipkin2.TestObjects.UTF_8;
 
 public class InternalScribeCodecTest {
 
diff --git a/mvnw b/mvnw
index 35ff643..d2f0ea3 100755
--- a/mvnw
+++ b/mvnw
@@ -212,9 +212,9 @@ else
       echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..."
     fi
     if [ -n "$MVNW_REPOURL" ]; then
-      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+      jarUrl="$MVNW_REPOURL/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
     else
-      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+      jarUrl="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
     fi
     while IFS="=" read key value; do
       case "$key" in (wrapperUrl) jarUrl="$value"; break ;;
diff --git a/mvnw.cmd b/mvnw.cmd
index dae46d4..b26ab24 100644
--- a/mvnw.cmd
+++ b/mvnw.cmd
@@ -120,7 +120,7 @@ SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe"
 set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar"
 set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain
 
-set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
 
 FOR /F "tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO (
     IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B
@@ -134,7 +134,7 @@ if exist %WRAPPER_JAR% (
     )
 ) else (
     if not "%MVNW_REPOURL%" == "" (
-        SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar"
+        SET DOWNLOAD_URL="%MVNW_REPOURL%/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar"
     )
     if "%MVNW_VERBOSE%" == "true" (
         echo Couldn't find %WRAPPER_JAR%, downloading it ...
diff --git a/okhttp3/pom.xml b/okhttp3/pom.xml
index d049f2a..52a07cf 100644
--- a/okhttp3/pom.xml
+++ b/okhttp3/pom.xml
@@ -48,13 +48,6 @@
     </dependency>
 
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-
-    <dependency>
       <groupId>com.squareup.okhttp3</groupId>
       <artifactId>mockwebserver</artifactId>
       <scope>test</scope>
diff --git a/okhttp3/src/test/java/zipkin2/reporter/okhttp3/OkHttpSenderTest.java b/okhttp3/src/test/java/zipkin2/reporter/okhttp3/OkHttpSenderTest.java
index c667c7c..573cbae 100644
--- a/okhttp3/src/test/java/zipkin2/reporter/okhttp3/OkHttpSenderTest.java
+++ b/okhttp3/src/test/java/zipkin2/reporter/okhttp3/OkHttpSenderTest.java
@@ -45,7 +45,7 @@ import static java.util.Arrays.asList;
 import static java.util.stream.Collectors.toList;
 import static org.assertj.core.api.Assertions.assertThat;
 import static org.assertj.core.api.Assertions.failBecauseExceptionWasNotThrown;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.CLIENT_SPAN;
 
 public class OkHttpSenderTest {
 
@@ -167,8 +167,9 @@ public class OkHttpSenderTest {
 
       AwaitableCallback callback = new AwaitableCallback();
 
+      Call<Void> call = sender.sendSpans(asList(SpanBytesEncoder.JSON_V2.encode(CLIENT_SPAN)));
       new Thread(() ->
-          sender.sendSpans(asList(SpanBytesEncoder.JSON_V2.encode(CLIENT_SPAN))).enqueue(callback)
+        call.enqueue(callback)
       ).start();
       Thread.sleep(100); // make sure the thread starts
 
@@ -242,8 +243,9 @@ public class OkHttpSenderTest {
 
       AwaitableCallback callback = new AwaitableCallback();
 
+      Call<Void> call = sender.sendSpans(asList(SpanBytesEncoder.JSON_V2.encode(CLIENT_SPAN)));
       new Thread(() ->
-          sender.sendSpans(asList(SpanBytesEncoder.JSON_V2.encode(CLIENT_SPAN))).enqueue(callback)
+        call.enqueue(callback)
       ).start();
       Thread.sleep(100); // make sure the thread starts
 
diff --git a/pom.xml b/pom.xml
index 360479d..cbe2ad4 100755
--- a/pom.xml
+++ b/pom.xml
@@ -64,8 +64,9 @@
     <errorprone.args />
 
     <!-- use the same value in bom/pom.xml -->
-    <zipkin.version>2.13.0</zipkin.version>
+    <zipkin.version>2.14.0</zipkin.version>
     <license-maven-plugin.version>3.0</license-maven-plugin.version>
+    <maven-failsafe-plugin.version>3.0.0-M3</maven-failsafe-plugin.version>
   </properties>
 
   <name>Zipkin Reporter (Parent)</name>
@@ -89,8 +90,7 @@
   <scm>
     <url>https://github.com/apache/incubator-zipkin-reporter-java</url>
     <connection>scm:git:https://github.com/apache/incubator-zipkin-reporter-java.git</connection>
-    <developerConnection>scm:git:https://github.com/apache/incubator-zipkin-reporter-java.git
-    </developerConnection>
+    <developerConnection>scm:git:https://github.com/apache/incubator-zipkin-reporter-java.git</developerConnection>
     <tag>HEAD</tag>
   </scm>
 
@@ -142,20 +142,14 @@
         <version>${project.version}</version>
       </dependency>
       <dependency>
-        <groupId>${project.groupId}</groupId>
-        <artifactId>zipkin-reporter</artifactId>
-        <type>test-jar</type>
-        <version>${project.version}</version>
-      </dependency>
-      <dependency>
         <groupId>com.squareup.okhttp3</groupId>
         <artifactId>okhttp</artifactId>
-        <version>3.14.0</version>
+        <version>3.14.1</version>
       </dependency>
       <dependency>
         <groupId>com.squareup.okhttp3</groupId>
         <artifactId>mockwebserver</artifactId>
-        <version>3.14.0</version>
+        <version>3.14.1</version>
       </dependency>
     </dependencies>
   </dependencyManagement>
@@ -174,6 +168,12 @@
       <scope>test</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
+      <artifactId>zipkin-tests</artifactId>
+      <version>${zipkin.version}</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
       <groupId>org.assertj</groupId>
       <artifactId>assertj-core</artifactId>
       <version>3.12.2</version>
@@ -194,7 +194,7 @@
         <plugin>
           <groupId>io.takari</groupId>
           <artifactId>maven</artifactId>
-          <version>0.7.5</version>
+          <version>0.7.6</version>
           <configuration>
             <maven>3.6.1</maven>
           </configuration>
@@ -202,7 +202,7 @@
 
         <plugin>
           <artifactId>maven-compiler-plugin</artifactId>
-          <version>3.8.0</version>
+          <version>3.8.1</version>
           <inherited>true</inherited>
           <configuration>
             <!-- Retrolambda will rewrite lambdas as Java 6 bytecode -->
@@ -250,7 +250,7 @@
 
         <plugin>
           <artifactId>maven-javadoc-plugin</artifactId>
-          <version>3.0.1</version>
+          <version>3.1.0</version>
           <configuration>
             <failOnError>false</failOnError>
             <excludePackageNames>zipkin2.reporter.internal,zipkin2.reporter.internal.*
@@ -350,6 +350,36 @@
       </plugin>
 
       <plugin>
+        <artifactId>maven-surefire-plugin</artifactId>
+        <version>${maven-failsafe-plugin.version}</version>
+        <configuration>
+          <reuseForks>false</reuseForks>
+        </configuration>
+      </plugin>
+
+      <plugin>
+        <artifactId>maven-failsafe-plugin</artifactId>
+        <version>${maven-failsafe-plugin.version}</version>
+        <configuration>
+          <reuseForks>false</reuseForks>
+        </configuration>
+        <executions>
+          <execution>
+            <id>integration-test</id>
+            <goals>
+              <goal>integration-test</goal>
+            </goals>
+          </execution>
+          <execution>
+            <id>verify</id>
+            <goals>
+              <goal>verify</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <plugin>
         <artifactId>maven-install-plugin</artifactId>
         <version>3.0.0-M1</version>
       </plugin>
@@ -405,11 +435,6 @@
       </plugin>
 
       <plugin>
-        <artifactId>maven-surefire-plugin</artifactId>
-        <version>3.0.0-M3</version>
-      </plugin>
-
-      <plugin>
         <groupId>org.apache.felix</groupId>
         <artifactId>maven-bundle-plugin</artifactId>
         <version>4.1.0</version>
diff --git a/urlconnection/pom.xml b/urlconnection/pom.xml
index 49d1635..d78a75b 100644
--- a/urlconnection/pom.xml
+++ b/urlconnection/pom.xml
@@ -40,12 +40,6 @@
     </dependency>
 
     <dependency>
-      <groupId>${project.groupId}</groupId>
-      <artifactId>zipkin-reporter</artifactId>
-      <type>test-jar</type>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
       <groupId>com.squareup.okhttp3</groupId>
       <artifactId>mockwebserver</artifactId>
       <scope>test</scope>
diff --git a/urlconnection/src/test/java/zipkin2/reporter/urlconnection/URLConnectionSenderTest.java b/urlconnection/src/test/java/zipkin2/reporter/urlconnection/URLConnectionSenderTest.java
index 28f02f2..745f369 100644
--- a/urlconnection/src/test/java/zipkin2/reporter/urlconnection/URLConnectionSenderTest.java
+++ b/urlconnection/src/test/java/zipkin2/reporter/urlconnection/URLConnectionSenderTest.java
@@ -39,7 +39,7 @@ import zipkin2.reporter.Sender;
 import static java.util.Arrays.asList;
 import static java.util.stream.Collectors.toList;
 import static org.assertj.core.api.Assertions.assertThat;
-import static zipkin2.reporter.TestObjects.CLIENT_SPAN;
+import static zipkin2.TestObjects.CLIENT_SPAN;
 
 public class URLConnectionSenderTest {
   @Rule public MockWebServer server = new MockWebServer();