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/17 06:28:04 UTC

[incubator-zipkin-dependencies] branch master updated: Migrates build to ASF things (#137)

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-dependencies.git


The following commit(s) were added to refs/heads/master by this push:
     new 2cc0ec7  Migrates build to ASF things (#137)
2cc0ec7 is described below

commit 2cc0ec702c158e4cbd0a95893568c1e087ee1215
Author: Adrian Cole <ad...@users.noreply.github.com>
AuthorDate: Fri May 17 08:27:59 2019 +0200

    Migrates build to ASF things (#137)
---
 .github/CONTRIBUTING.md                            |  45 +++++
 .github/ISSUE_TEMPLATE/bug.md                      |  13 ++
 .github/ISSUE_TEMPLATE/feature.md                  |  19 ++
 .github/ISSUE_TEMPLATE/question.md                 |   9 +
 .gitignore                                         |  36 ++--
 .mvn/wrapper/MavenWrapperDownloader.java           |   4 +-
 .mvn/wrapper/maven-wrapper.properties              |   4 +-
 .settings.xml                                      |  44 -----
 .travis.yml                                        |  27 +--
 CONTRIBUTING.md                                    |  42 ----
 DISCLAIMER                                         |   5 +
 Jenkinsfile                                        |  92 +++++++++
 LICENSE                                            |   1 -
 NOTICE                                             |   6 +
 README.md                                          |  17 +-
 RELEASE.md                                         |  79 --------
 cassandra/pom.xml                                  |  41 ++--
 .../cassandra/CassandraDependenciesJob.java        |  21 +-
 .../cassandra/CassandraRowsToDependencyLinks.java  |  21 +-
 .../dependencies/cassandra/package-info.java       |  21 +-
 .../cassandra/CassandraDependenciesJobTest.java    |  21 +-
 .../storage/cassandra/v1/CassandraStorageRule.java |  37 ++--
 .../cassandra/v1/ITCassandraDependencies.java      |  23 ++-
 cassandra3/pom.xml                                 |  41 ++--
 .../cassandra3/CassandraDependenciesJob.java       |  21 +-
 .../cassandra3/CassandraRowToSpan.java             |  21 +-
 .../cassandra3/CassandraRowsToDependencyLinks.java |  21 +-
 .../cassandra3/SpansToDependencyLinks.java         |  21 +-
 .../cassandra3/CassandraDependenciesJobTest.java   |  21 +-
 .../storage/cassandra/CassandraStorageRule.java    |  37 ++--
 .../storage/cassandra/ITCassandraDependencies.java |  23 ++-
 cassandra3/src/test/resources/log4j.properties     |  14 --
 elasticsearch/pom.xml                              |  45 +++--
 .../ElasticsearchDependenciesJob.java              |  21 +-
 .../TraceIdAndJsonToDependencyLinks.java           |  21 +-
 .../dependencies/elasticsearch/package-info.java   |  21 +-
 .../ElasticsearchDependenciesJobTest.java          |  21 +-
 .../elasticsearch/ITElasticsearchDependencies.java |  21 +-
 .../ITElasticsearchV2Dependencies.java             |  23 ++-
 .../ITElasticsearchV5Dependencies.java             |  23 ++-
 .../ITElasticsearchV6Dependencies.java             |  23 ++-
 .../elasticsearch/LazyElasticsearchStorage.java    |  52 +++--
 main/pom.xml                                       |  30 ++-
 .../java/zipkin2/dependencies/LogInitializer.java  |  21 +-
 .../dependencies/ZipkinDependenciesJob.java        |  21 +-
 .../java/zipkin2/dependencies/package-info.java    |  21 +-
 main/src/main/resources/log4j.properties           |   2 +-
 .../dependencies/ZipkinDependenciesJobTest.java    |  21 +-
 mvnw                                               |   4 +-
 mvnw.cmd                                           |   4 +-
 mysql/pom.xml                                      |  41 ++--
 .../mysql/DependencyLinkSpanIterator.java          |  21 +-
 .../dependencies/mysql/MySQLDependenciesJob.java   |  21 +-
 .../dependencies/mysql/PeekingIterator.java        |  21 +-
 .../dependencies/mysql/RowsToDependencyLinks.java  |  21 +-
 .../zipkin2/dependencies/mysql/package-info.java   |  21 +-
 .../storage/mysql/v1/ITMySQLDependencies.java      |  21 +-
 .../zipkin2/storage/mysql/v1/MySQLTestGraph.java   |  21 +-
 pom.xml                                            | 216 +++++++++++++--------
 src/etc/header.txt                                 |  21 +-
 src/main/assemblies/source-release.xml             |  93 +++++++++
 travis/publish.sh                                  | 136 -------------
 62 files changed, 1037 insertions(+), 860 deletions(-)

diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md
new file mode 100644
index 0000000..1ca26f2
--- /dev/null
+++ b/.github/CONTRIBUTING.md
@@ -0,0 +1,45 @@
+# Contributing to Apache Zipkin (incubating)
+
+If you would like to contribute code, fork this GitHub repository and
+send a pull request on a branch other than `master`.
+
+When submitting code, please apply [Square Code Style](https://github.com/square/java-code-styles).
+* If the settings import correctly, CodeStyle/Java will be named Square and use 2 space tab and indent, with 4 space continuation indent.
+
+## License
+
+By contributing your code, you agree to license your contribution under
+the terms of the [APLv2](LICENSE).
+
+All files are released with the Apache 2.0 license.
+
+If you are adding a new file it should have a header like below. This
+can be automatically added by running `mvn com.mycila:license-maven-plugin:format`.
+
+```
+/*
+ * 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.
+ */
+ ```
+
+## Contributor Agreement
+
+Non-trivial change requires an Individual Contributor License Agreement
+(ICLA). The ICLA applies to all Apache Software Foundation projects, and
+is a one-time effort. If you have not yet filled an ICLA, download the [template](https://www.apache.org/licenses/icla.pdf).
+After filling the form with your information print, sign, scan, and send
+it in an email attachment to secretary@apache.org. You will get a
+confirmation and end up on a [list we can check](http://people.apache.org/unlistedclas.html).
diff --git a/.github/ISSUE_TEMPLATE/bug.md b/.github/ISSUE_TEMPLATE/bug.md
new file mode 100644
index 0000000..c5a5f51
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug.md
@@ -0,0 +1,13 @@
+---
+name: Bug
+about: If you’ve found a bug, spend the time to write a failing test. Bugs with tests get fixed and stay fixed. If you have a solution in mind, skip raising an issue and open a pull request instead.
+
+---
+## Describe the Bug
+A clear and concise description of what the bug is. If you have a solution in mind, skip raising an issue and open a pull request instead.
+
+## Steps to Reproduce
+Steps to reproduce the behavior:
+
+## Expected Behaviour
+The best is to spend some time to write a failing test. Bugs with tests get fixed and stay fixed.
diff --git a/.github/ISSUE_TEMPLATE/feature.md b/.github/ISSUE_TEMPLATE/feature.md
new file mode 100644
index 0000000..7f6480f
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature.md
@@ -0,0 +1,19 @@
+---
+name: Feature Request
+about: Please first, look at existing issues to see if the feature has been requested before.
+
+---
+Please first, look at [existing issues](https://github.com/apache/incubator-zipkin-dependencies/issues) to see if the feature has been requested before. If you don't find anything tell us what problem you’re trying to solve. Often a solution already exists! Don’t send pull requests to implement new features without first getting our support. Sometimes we leave features out on purpose to keep the project small.
+
+**Feature:**
+Description of the feature
+
+**Rational**
+Why this feature should be in zipkin
+
+**Example Scenario**
+When will this be used by operators?
+
+**Prior Art**
+ * Links to prior art
+ * More links
diff --git a/.github/ISSUE_TEMPLATE/question.md b/.github/ISSUE_TEMPLATE/question.md
new file mode 100644
index 0000000..c323142
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/question.md
@@ -0,0 +1,9 @@
+---
+name: Question
+about: This issue tracker is not for questions. If you want to ask how to do something, or to understand why something isn't working the way you expect it to, please use https://gitter.im/openzipkin/zipkin
+
+---
+
+This issue tracker is not for questions. If you want to ask how to do something, or to understand why something isn't working the way you expect it to, please use [Gitter](https://gitter.im/openzipkin/zipkin) or [Stack Overflow](https://stackoverflow.com/questions/tagged/zipkin).
+
+
diff --git a/.gitignore b/.gitignore
index 53ecf9a..8449fda 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,29 +1,19 @@
-*.class
-
-# Mobile Tools for Java (J2ME)
-.mtj.tmp/
-
-# Package Files #
-*.war
-*.ear
-
-# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
-hs_err_pid*
-
-# Maven
-target/
-
-# IntelliJ
-.idea/
-*.iml
-
-# macOS
-.DS_Store
-
-# Eclipse
+*~
+#*
+*#
+.#*
+dependency-reduced-pom.xml
+.factorypath
 .classpath
 .project
 .settings/
+.springBeans
+target/
+_site/
+.idea
+*.iml
+*.swp
+.DS_Store
 
 # Maven Wrapper
 .mvn/wrapper/maven-wrapper.jar
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 05c741e..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.0/apache-maven-3.6.0-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar
+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.5/maven-wrapper-0.5.5.jar
diff --git a/.settings.xml b/.settings.xml
deleted file mode 100644
index 3c7dbe2..0000000
--- a/.settings.xml
+++ /dev/null
@@ -1,44 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
-    Copyright 2016-2017 The OpenZipkin Authors
-
-    Licensed 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.
-
--->
-<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
-      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
-                          http://maven.apache.org/xsd/settings-1.0.0.xsd">
-  <servers>
-    <server>
-      <id>sonatype</id>
-      <username>${env.SONATYPE_USER}</username>
-      <password>${env.SONATYPE_PASSWORD}</password>
-    </server>
-    <server>
-      <id>bintray</id>
-      <username>${env.BINTRAY_USER}</username>
-      <password>${env.BINTRAY_KEY}</password>
-    </server>
-    <server>
-      <id>jfrog-snapshots</id>
-      <username>${env.BINTRAY_USER}</username>
-      <password>${env.BINTRAY_KEY}</password>
-    </server>
-    <server>
-      <id>github.com</id>
-      <username>${env.GH_TOKEN}</username>
-      <password></password>
-    </server>
-  </servers>
-</settings>
-
diff --git a/.travis.yml b/.travis.yml
index 9ec0847..9629ee6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -31,21 +31,11 @@ before_install:
   - curl -SL https://raw.githubusercontent.com/openzipkin/zipkin/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql | mysql -uroot -Dzipkin
   # Required for Elasticsearch 5 (See https://github.com/docker-library/docs/tree/master/elasticsearch#host-setup)
   - sudo sysctl -w vm.max_map_count=262144
-  # parameters used during a release
-  # allocate commits to CI, not the owner of the deploy key
-  - git config user.name "zipkinci"
-  - git config user.email "zipkinci+zipkin-dev@googlegroups.com"
-  # setup https authentication credentials, used by ./mvnw release:prepare
-  - git config credential.helper "store --file=.git/credentials"
-  - echo "https://$GH_TOKEN:@github.com" > .git/credentials
 
-install:
   # Override default travis to use the maven wrapper
   # Use quiet as shade plugin creates too many logs for Travis: The log length has exceeded the limit of 4 MB
-  - ./mvnw -q install -DskipTests=true -Dmaven.javadoc.skip=true -Dlicense.skip=true -B -V
-
-script:
-  - ./travis/publish.sh
+install: ./mvnw -q install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
+script: ./mvnw clean verify -B
 
 # Don't build release tags. This avoids publish conflicts because the version commit exists both on master and the release tag.
 # See https://github.com/travis-ci/travis-ci/issues/1532
@@ -60,16 +50,3 @@ notifications:
       - https://webhooks.gitter.im/e/637e968b45032d16ee26
     on_success: change
     on_failure: always
-
-env:
-  global:
-  # Ex. travis encrypt BINTRAY_USER=your_github_account
-  - secure: "VHtE+Tvsf7CY1t9s+Q/l07/4ctErohKQPkTolwDmteFn2/b2heDoCowSfWq97YKoWDIm+Y+gIEHj516sLgHJOuHyiV3rWkReLdLk8YQuv/vYdpbRtaPK2/mFol65ycKJdYNJ8yqt69844iMbFqltyTkbjPIumm7z0VuNt+3Ig236WOqF7jPK1bk92TD9zaw+qEdDy94BGLz27hVAtTrcTckAmOc/9svKA6Tb3m+H9N7pCBwb+RyWelPWkafj8OFTd7wfMMxgv607ftf4ssQesmQjO9d9ZWl80XUfCavVrGm52Q1dtRN3irmbGlxqCGqI6DoR182WlTz7HRIP7kWB3sEhpwyhTdy1bshqrbtCqKozdhBKharXuAnKDANTK3FpBaKhK5XlmBMLMckszem/mLLnr/UMORA43JjZaci01mudm91tuXRaEfAp10e1miNkIOU+NVjCltIVOG3ZHmFWFKIPPuulyXj [...]
-  # Ex. travis encrypt BINTRAY_KEY=xxx-https://bintray.com/profile/edit-xxx --add
-  - secure: "nmog8xfneNyIGZXSwCjan7CYqYjdIxohz3Jz/6lViotWF2Y+uSAwUQ+f1eubzPRABioOnfNmg1sI2fydMupANHf6Y8KzB58LY72EkUhl5IREdIMBoMqOxkZhO/tEu6Tl3TMjS4BYXHNCusW962GNOTmEsZKgw3Kf+2b2ENtbAT3hCRK2ENuoXsbA5CcJ60it8UFbkLMtTzNK87C9bENz19+0wObP9/97nxbcguMNhOfLaUU892UGLq6YUGt3mcX1/J/ZzQJa5Xl8jKEZ+iBbN3wVoFrjoG4uWYjoDU6/8oWeRtxaTquUllfc4zi2lwsvikWLT3sOXzJ9KN7Ox8tKK9wE21IpBmr34gLYudY+ovtFukZEU/EN+xPBi/RuXx2K4DsPZ/FCvbJAs/7EVR2o+zrJZn/l2CxYFacVXpQDfGGb+Ddt7kyHQ4gYjN4VWa45/It6kHMmwLZk1VaRWI8bRTwi6S/OlVj [...]
-  # Ex. travis encrypt GH_TOKEN=XXX-https://github.com/settings/tokens-XXX --add
-  - secure: "LQtTvx/7dAeysYCgFrT56/oT/umMwcO0Npz/lyqi4z5hoZDBkF6OjsasHdxdfA3YPYp7L5wsHcFK0xQTySdBa+C1eiv8C/vq0iZsNoeqD0ptXUlar4R2+/CKr1nPe78GCtcseIbnx4NocxcL0iJWPzJz6nNWbHKklG1vKMiOqymOClZtk31ZTK6qweNUrZ3H2TTRWf1sfuhgizvzANehGJi45chk1lw2wMDuuAgCWm//AM+h8qgx+O6O3QfncavrOiK4vv42BoQoMWgyolrHszDVncEZVFalH1s4yvb3JymZNWUY0fSOgqzjQSZna18V+IKMcH2h+dZsD3Tp0FI9iVcykIfmb10JKv96g+rZqQlGZ/HgVs9J4n1abNlN6P9fEiwyJYgZraXw5XxwoVnL0zivfe/oQW3vYScod3cuRuoORC/+ASMPJUVvZVcaatijvIafBnsGL3DIaHtNPi0B1mErub5+LBW [...]
-  # Ex. travis encrypt SONATYPE_USER=your_sonatype_account
-  - secure: "VtnCQRMy+a58KfnppqmSMUtNedWUfb+cJb+InbGSJuuQl0pvd7Io0u0PGKGeEaAhmyOkjQsXRY9G2ZW/LLL72La2j5r8jQaLbpKjDmzSMukGUYaaAhAkiHXskxTwl2KC/9r6oGEoyaAf0sraHEkrri7ER/AS+9tqXx63aSI7r9exzs7gcEFnZAhnkAkxp3kdUNuDogoqbv+tvNK0RvkyINzDFpu+SfjU3BbQTHygQDBie1xu73NBFVaExyjZDxQCgWhfvjTqddeKNb9123oAHuX8ghc66LrPXab2m6FHp5U8YIzKPHJ/dSiigXsq10wBn40VPDSogqMLpB6tNSLG1oPqylRQkRUvoktAGyx7XhIJO++GEcYMvpvJXTDGqh72TuM94qK/gC5avHXRy6xj4p+QBcVgS4le7ka45OpfmNminge9l8sz8ElCAUcSfTJmLsXdeIuY4oNB18yejlDy0HHzGII8Rhz [...]
-  # Ex. travis encrypt SONATYPE_PASSWORD=your_sonatype_password
-  - secure: "T/KXc3rfSZeSY6WeRbHq0LtDER1UDPpPwYIwshdgjOCwgQQPX1MlDiNtRG0dZEUdrK07rcQejRjDGR6qNecneELL8lxl4vQVylkrROlkBr+sPZFOPaSimVAfjjn273ryrtNyk2sT9g3RWsc1NszbiuMea/tXvTBooxtq/F341DvvKyYwnanm+hUFVULO1GXIc8mvXEDbR+LB5cCWk7Pp8718xBc8IkdHwSRdInOWw4Q/CyeULhzGmhihGO9tuWfdO2kVngRcrW2HZXV7l+AcxNTcJY06A0PxKAG1p+NDzmxSOaEu2WW2GYJXBwyadR2XCb1TQJIynbBYITb/Z3mubgPwZ1dTA1Oet18jwh28DIl6elS2xM1HeMKFVDUAr/KKeuvQXRiKyUOZurtg6jcLHp74k5BeAqswQRLYrBNBIY9/JdB2N101l5zmMfw3ee5GRlAV+PvP1pn7rPhbEi44DPYTi4lFkNP [...]
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
deleted file mode 100644
index 9c94115..0000000
--- a/CONTRIBUTING.md
+++ /dev/null
@@ -1,42 +0,0 @@
-# Contributing to Zipkin
-
-If you would like to contribute code you can do so through GitHub by forking the repository and sending a pull request (on a branch other than `master` or `gh-pages`).
-
-When submitting code, please apply [Square Code Style](https://github.com/square/java-code-styles).
-* If the settings import correctly, CodeStyle/Java will be named Square and use 2 space tab and indent, with 4 space continuation indent.
-
-## License
-
-By contributing your code, you agree to license your contribution under the terms of the APLv2: https://github.com/openzipkin/zipkin/blob/master/LICENSE
-
-All files are released with the Apache 2.0 license.
-
-If you are adding a new file it should have a header like below. This can be automatically added by running `./mvnw com.mycila:license-maven-plugin:format`.
-
-```
-/**
- * Copyright 2015 The OpenZipkin Authors
- *
- * Licensed 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.
- */
- ```
-
-## Logging
-
-Spark logging is managed via log4J configuration. [LogInitializer](./main/src/main/java/zipkin/dependencies/LogInitializer.java)
-adds configuration during bootstrap for the "zipkin" category and
-propagates it to Spark executors in a dependency free manner.
-
-Even though Spark uses log4J underneath, declare loggers using the SLF4J
-api, notable as static final field. SLF4J loggers are serializable, so
-do not require special handling when part of a spark task. If you need
-to test logging, encapsulate the static field in an instance method
-`log()` and override it during tests.
diff --git a/DISCLAIMER b/DISCLAIMER
new file mode 100644
index 0000000..f73ab06
--- /dev/null
+++ b/DISCLAIMER
@@ -0,0 +1,5 @@
+Apache Zipkin (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator PMC.
+Incubation is required of all newly accepted projects until a further review indicates 
+that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. 
+While incubation status is not necessarily a reflection of the completeness or stability of the code, 
+it does indicate that the project has yet to be fully endorsed by the ASF.
diff --git a/Jenkinsfile b/Jenkinsfile
new file mode 100644
index 0000000..04f8968
--- /dev/null
+++ b/Jenkinsfile
@@ -0,0 +1,92 @@
+/*
+ * 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.
+ */
+
+pipeline {
+    agent {
+        label 'ubuntu'
+    }
+
+    tools {
+        jdk 'JDK 1.8 (latest)'
+    }
+
+    options {
+        buildDiscarder(logRotator(
+            numToKeepStr: '30',
+        ))
+        timestamps()
+        skipStagesAfterUnstable()
+        timeout time: 30, unit: 'MINUTES'
+    }
+
+    stages {
+        stage('SCM Checkout') {
+            steps {
+                deleteDir()
+                checkout scm
+            }
+        }
+
+        stage('Check environment') {
+            steps {
+                sh 'env'
+                sh 'pwd'
+                sh 'ls'
+                sh 'git status'
+            }
+        }
+
+        stage('Run tests') {
+            steps {
+                // use install, as opposed to verify, to ensure invoker tests use latest code
+                // skip docker tests so that we don't take 2hrs to build. Travis will run these.
+                // Use quiet as shade plugin creates too many logs
+                sh './mvnw clean install -q --batch-mode -nsu -Ddocker.skip=true'
+            }
+        }
+
+        stage('Publish snapshot') {
+            when {
+                branch 'master'
+            }
+            steps {
+                sh './mvnw deploy -Papache-release -Dgpg.skip=true -DskipTests --batch-mode -nsu'
+            }
+        }
+    }
+
+    post {
+        always {
+            junit '**/target/*-reports/*.xml'
+            deleteDir()
+        }
+
+        changed {
+            script {
+                if (env.BRANCH_NAME == 'master') {
+                    emailext(
+                        subject: "[${currentBuild.projectName}] master is ${currentBuild.currentResult} (#${currentBuild.number})",
+                        to: 'commits@zipkin.apache.org',
+                        replyTo: 'dev@zipkin.apache.org',
+                        body: "See <${currentBuild.absoluteUrl}>"
+                    )
+                }
+            }
+
+        }
+    }
+}
diff --git a/LICENSE b/LICENSE
index 8f71f43..8dada3e 100644
--- a/LICENSE
+++ b/LICENSE
@@ -199,4 +199,3 @@
    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.
-
diff --git a/NOTICE b/NOTICE
new file mode 100644
index 0000000..5116be7
--- /dev/null
+++ b/NOTICE
@@ -0,0 +1,6 @@
+Apache Zipkin Dependencies (incubating)
+Copyright 2019 The Apache Software Foundation
+
+This product includes software developed at
+The Apache Software Foundation (http://www.apache.org/).
+
diff --git a/README.md b/README.md
index e14d024..a534a1e 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,6 @@
-[![Gitter chat](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/openzipkin/zipkin) [![Build Status](https://travis-ci.org/openzipkin/zipkin-dependencies.svg?branch=master)](https://travis-ci.org/openzipkin/zipkin-dependencies) [![Download](https://api.bintray.com/packages/openzipkin/maven/zipkin-dependencies/images/download.svg) ](https://bintray.com/openzipkin/maven/zipkin-dependencies/_latestVersion)
+[![Gitter chat](http://img.shields.io/badge/gitter-join%20chat%20%E2%86%92-brightgreen.svg)](https://gitter.im/openzipkin/zipkin)
+[![Build Status](https://builds.apache.org/view/Z/view/Zipkin/job/GH-incubator-zipkin/job/incubator-zipkin-dependencies/job/master/badge/icon)](https://builds.apache.org/view/Z/view/Zipkin/job/GH-incubator-zipkin/job/incubator-zipkin-dependencies/job/master/)
+[![Maven Central](https://img.shields.io/maven-central/v/org.apache.zipkin/zipkin-server.svg)](https://search.maven.org/search?q=g:org.apache.zipkin.dependencies%20AND%20a:zipkin-dependencies)
 
 # zipkin-dependencies
 
@@ -13,11 +15,11 @@ are supported, including Cassandra, MySQL and Elasticsearch.
 
 ## Quick-start
 
-The quickest way to get started is to fetch the [latest released job](https://search.maven.org/remote_content?g=io.zipkin.dependencies&a=zipkin-dependencies&v=LATEST) as a self-contained jar.
+The quickest way to get started is to fetch the [latest released job](https://search.maven.org/remote_content?g=org.apache.zipkin.dependencies&a=zipkin-dependencies&v=LATEST) as a self-contained jar.
 Note that Zipkin Dependencies requires minimum JRE 1.8. For example:
 
 ```bash
-$ curl -sSL https://zipkin.io/quickstart.sh | bash -s io.zipkin.dependencies:zipkin-dependencies:LATEST zipkin-dependencies.jar
+$ curl -sSL https://zipkin.apache.org/quickstart.sh | bash -s org.apache.zipkin.dependencies:zipkin-dependencies:LATEST zipkin-dependencies.jar
 $ STORAGE_TYPE=cassandra3 java -jar zipkin-dependencies.jar
 ```
 
@@ -157,3 +159,12 @@ is important when figuring out why a trace didn't result in a link.
 
 If you set `SPARK_MASTER` to something besides local, remember that log
 output also ends up in `stderr` of the workers.
+
+## Artifacts
+Library artifacts are under the maven group id `org.apache.zipkin.dependencies`
+### Source Releases
+Source Releases are uploaded to [Apache](https://www.apache.org/dyn/closer.lua/incubator/zipkin/zipkin-dependencies)
+### Binary Releases
+Binary Releases are uploaded to [Apache](https://repository.apache.org/service/local/staging/deploy/maven2) and synchronized to [Maven Central](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.zipkin.dependencies%22)
+### Binary Snapshots
+Binary Snapshots are uploaded to [Apache](https://repository.apache.org/content/repositories/snapshots/) after commits to master.
diff --git a/RELEASE.md b/RELEASE.md
deleted file mode 100644
index d20010e..0000000
--- a/RELEASE.md
+++ /dev/null
@@ -1,79 +0,0 @@
-# Zipkin Dependencies Release Process
-
-This repo uses semantic versions. Please keep this in mind when choosing version numbers.
-
-1. **Alert others you are releasing**
-
-   There should be no commits made to master while the release is in progress (about 10 minutes). Before you start
-   a release, alert others on [gitter](https://gitter.im/openzipkin/zipkin) so that they don't accidentally merge
-   anything. If they do, and the build fails because of that, you'll have to recreate the release tag described below.
-
-1. **Push a git tag**
-
-   The tag should be of the format `release-N.M.L`, ex `git tag release-1.18.1; git push origin release-1.18.1`.
-
-1. **Wait for Travis CI**
-
-   This part is controlled by [`travis/publish.sh`](travis/publish.sh). It creates a bunch of new commits, bumps
-   the version, publishes artifacts, syncs to Maven Central, and publishes Javaocs to http://zipkin.io/zipkin
-   into a versioned subdirectory.
-   (Note: Javaocs are also published on all builds of master; due to versioning, it doesn't overwrite docs built
-   for releases.)
-
-1. **Publish `docker-zipkin-dependencies`**
-
-   Refer to [docker-zipkin-dependencies/RELEASE.md](https://github.com/openzipkin/docker-zipkin-dependencies/blob/master/RELEASE.md).
-   
-## Credentials
-
-Credentials of various kind are needed for the release process to work. If you notice something
-failing due to unauthorized, re-encrypt them using instructions at the bottom of the `.travis.yml`
-
-Ex You'll see comments like this:
-```yaml
-env:
-  global:
-  # Ex. travis encrypt BINTRAY_USER=your_github_account
-  - secure: "VeTO...
-```
-
-To re-encrypt, you literally run the commands with relevant values and replace the "secure" key with the output:
-
-```bash
-$ travis encrypt BINTRAY_USER=adrianmole
-Please add the following to your .travis.yml file:
-
-  secure: "mQnECL+dXc5l9wCYl/wUz+AaYFGt/1G31NAZcTLf2RbhKo8mUenc4hZNjHCEv+4ZvfYLd/NoTNMhTCxmtBMz1q4CahPKLWCZLoRD1ExeXwRymJPIhxZUPzx9yHPHc5dmgrSYOCJLJKJmHiOl9/bJi123456="
-```
-
-### Troubleshooting invalid credentials
-
-If you receive a '401 unauthorized' failure from jCenter or Bintray, it is
-likely `BINTRAY_USER` or `BINTRAY_KEY` entries are invalid, or possibly the user
-associated with them does not have rights to upload.
-
-The least destructive test is to try to publish a snapshot manually. By passing
-the values Travis would use, you can kick off a snapshot from your laptop. This
-is a good way to validate that your unencrypted credentials are authorized.
-
-Here's an example of a snapshot deploy with specified credentials.
-```bash
-$ BINTRAY_USER=adrianmole BINTRAY_KEY=ed6f20bde9123bbb2312b221 TRAVIS_PULL_REQUEST=false TRAVIS_TAG= TRAVIS_BRANCH=master travis/publish.sh
-```
-
-## First release of the year
-
-The license plugin verifies license headers of files include a copyright notice indicating the years a file was affected.
-This information is taken from git history. There's a once-a-year problem with files that include version numbers (pom.xml).
-When a release tag is made, it increments version numbers, then commits them to git. On the first release of the year,
-further commands will fail due to the version increments invalidating the copyright statement. The way to sort this out is
-the following:
-
-Before you do the first release of the year, move the SNAPSHOT version back and forth from whatever the current is.
-In-between, re-apply the licenses.
-```bash
-$ ./mvnw versions:set -DnewVersion=1.3.3-SNAPSHOT -DgenerateBackupPoms=false
-$ ./mvnw com.mycila:license-maven-plugin:format
-$ ./mvnw versions:set -DnewVersion=1.3.2-SNAPSHOT -DgenerateBackupPoms=false
-$ git commit -am"Adjusts copyright headers for this year"
-```
diff --git a/cassandra/pom.xml b/cassandra/pom.xml
index 96c9c89..b69b7c3 100644
--- a/cassandra/pom.xml
+++ b/cassandra/pom.xml
@@ -1,24 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright 2016-2019 The OpenZipkin Authors
+    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
 
-    Licensed 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
 
-    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.
+    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.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.zipkin.dependencies</groupId>
+    <groupId>org.apache.zipkin.dependencies</groupId>
     <artifactId>zipkin-dependencies-parent</artifactId>
     <version>2.1.1-SNAPSHOT</version>
   </parent>
@@ -43,7 +46,7 @@
     </dependency>
 
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
       <artifactId>zipkin-storage-cassandra-v1</artifactId>
       <version>${zipkin.version}</version>
       <scope>test</scope>
@@ -51,9 +54,8 @@
 
     <!-- integration tests -->
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
-      <artifactId>zipkin</artifactId>
-      <type>test-jar</type>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
+      <artifactId>zipkin-tests</artifactId>
       <scope>test</scope>
     </dependency>
 
@@ -63,4 +65,15 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>false</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraDependenciesJob.java b/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraDependenciesJob.java
index 52d88b3..640c4db 100644
--- a/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraDependenciesJob.java
+++ b/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraDependenciesJob.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra;
 
diff --git a/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraRowsToDependencyLinks.java b/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraRowsToDependencyLinks.java
index 88c7b7c..2b44244 100644
--- a/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraRowsToDependencyLinks.java
+++ b/cassandra/src/main/java/zipkin2/dependencies/cassandra/CassandraRowsToDependencyLinks.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra;
 
diff --git a/cassandra/src/main/java/zipkin2/dependencies/cassandra/package-info.java b/cassandra/src/main/java/zipkin2/dependencies/cassandra/package-info.java
index de04a79..0219cc8 100644
--- a/cassandra/src/main/java/zipkin2/dependencies/cassandra/package-info.java
+++ b/cassandra/src/main/java/zipkin2/dependencies/cassandra/package-info.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.
  */
 @javax.annotation.ParametersAreNonnullByDefault
 package zipkin2.dependencies.cassandra;
diff --git a/cassandra/src/test/java/zipkin2/dependencies/cassandra/CassandraDependenciesJobTest.java b/cassandra/src/test/java/zipkin2/dependencies/cassandra/CassandraDependenciesJobTest.java
index 7c3daaf..d8a61f4 100644
--- a/cassandra/src/test/java/zipkin2/dependencies/cassandra/CassandraDependenciesJobTest.java
+++ b/cassandra/src/test/java/zipkin2/dependencies/cassandra/CassandraDependenciesJobTest.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra;
 
diff --git a/cassandra/src/test/java/zipkin2/storage/cassandra/v1/CassandraStorageRule.java b/cassandra/src/test/java/zipkin2/storage/cassandra/v1/CassandraStorageRule.java
index a6e1812..a07c382 100644
--- a/cassandra/src/test/java/zipkin2/storage/cassandra/v1/CassandraStorageRule.java
+++ b/cassandra/src/test/java/zipkin2/storage/cassandra/v1/CassandraStorageRule.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.storage.cassandra.v1;
 
@@ -49,12 +52,16 @@ public class CassandraStorageRule extends ExternalResource {
   @Override
   protected void before() throws Throwable {
     System.setProperty("zipkin.dependencies.inTests", "true");
-    try {
-      LOGGER.info("Starting docker image " + image);
-      container = new CassandraContainer(image).withExposedPorts(CASSANDRA_PORT);
-      container.start();
-    } catch (RuntimeException e) {
-      LOGGER.warn("Couldn't start docker image " + image + ": " + e.getMessage(), e);
+    if (!"true".equals(System.getProperty("docker.skip"))) {
+      try {
+        LOGGER.info("Starting docker image " + image);
+        container = new CassandraContainer(image).withExposedPorts(CASSANDRA_PORT);
+        container.start();
+      } catch (RuntimeException e) {
+        LOGGER.warn("Couldn't start docker image " + image + ": " + e.getMessage(), e);
+      }
+    } else {
+      LOGGER.info("Skipping startup of docker " + image);
     }
 
     try {
diff --git a/cassandra/src/test/java/zipkin2/storage/cassandra/v1/ITCassandraDependencies.java b/cassandra/src/test/java/zipkin2/storage/cassandra/v1/ITCassandraDependencies.java
index 352722e..19ded47 100644
--- a/cassandra/src/test/java/zipkin2/storage/cassandra/v1/ITCassandraDependencies.java
+++ b/cassandra/src/test/java/zipkin2/storage/cassandra/v1/ITCassandraDependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.storage.cassandra.v1;
 
@@ -37,7 +40,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 public class ITCassandraDependencies extends ITDependencies {
   @ClassRule
   public static CassandraStorageRule cassandraStorageRule =
-      new CassandraStorageRule("openzipkin/zipkin-cassandra:2.12.9");
+      new CassandraStorageRule("openzipkin/zipkin-cassandra:2.13.0");
 
   @Rule public TestName testName = new TestName();
 
diff --git a/cassandra3/pom.xml b/cassandra3/pom.xml
index 8033731..af47317 100644
--- a/cassandra3/pom.xml
+++ b/cassandra3/pom.xml
@@ -1,24 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright 2016-2019 The OpenZipkin Authors
+    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
 
-    Licensed 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
 
-    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.
+    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.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.zipkin.dependencies</groupId>
+    <groupId>org.apache.zipkin.dependencies</groupId>
     <artifactId>zipkin-dependencies-parent</artifactId>
     <version>2.1.1-SNAPSHOT</version>
   </parent>
@@ -44,13 +47,12 @@
 
     <!-- integration tests -->
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
-      <artifactId>zipkin</artifactId>
-      <type>test-jar</type>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
+      <artifactId>zipkin-tests</artifactId>
       <scope>test</scope>
     </dependency>
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
       <artifactId>zipkin-storage-cassandra</artifactId>
       <version>${zipkin.version}</version>
       <scope>test</scope>
@@ -62,4 +64,15 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>false</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJob.java b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJob.java
index c97fda8..f290062 100644
--- a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJob.java
+++ b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJob.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra3;
 
diff --git a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowToSpan.java b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowToSpan.java
index b1b0fab..8ab1927 100644
--- a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowToSpan.java
+++ b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowToSpan.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra3;
 
diff --git a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowsToDependencyLinks.java b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowsToDependencyLinks.java
index 06552e2..a69608f 100644
--- a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowsToDependencyLinks.java
+++ b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/CassandraRowsToDependencyLinks.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra3;
 
diff --git a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/SpansToDependencyLinks.java b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/SpansToDependencyLinks.java
index 9f26878..413209d 100644
--- a/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/SpansToDependencyLinks.java
+++ b/cassandra3/src/main/java/zipkin2/dependencies/cassandra3/SpansToDependencyLinks.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra3;
 
diff --git a/cassandra3/src/test/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJobTest.java b/cassandra3/src/test/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJobTest.java
index b4df77c..ecb06ee 100644
--- a/cassandra3/src/test/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJobTest.java
+++ b/cassandra3/src/test/java/zipkin2/dependencies/cassandra3/CassandraDependenciesJobTest.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.cassandra3;
 
diff --git a/cassandra3/src/test/java/zipkin2/storage/cassandra/CassandraStorageRule.java b/cassandra3/src/test/java/zipkin2/storage/cassandra/CassandraStorageRule.java
index a73965a..18fab90 100644
--- a/cassandra3/src/test/java/zipkin2/storage/cassandra/CassandraStorageRule.java
+++ b/cassandra3/src/test/java/zipkin2/storage/cassandra/CassandraStorageRule.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.storage.cassandra;
 
@@ -49,12 +52,16 @@ public class CassandraStorageRule extends ExternalResource {
   @Override
   protected void before() throws Throwable {
     System.setProperty("zipkin.dependencies.inTests", "true");
-    try {
-      LOGGER.info("Starting docker image " + image);
-      container = new CassandraContainer(image).withExposedPorts(CASSANDRA_PORT);
-      container.start();
-    } catch (RuntimeException e) {
-      LOGGER.warn("Couldn't start docker image " + image + ": " + e.getMessage(), e);
+    if (!"true".equals(System.getProperty("docker.skip"))) {
+      try {
+        LOGGER.info("Starting docker image " + image);
+        container = new CassandraContainer(image).withExposedPorts(CASSANDRA_PORT);
+        container.start();
+      } catch (RuntimeException e) {
+        LOGGER.warn("Couldn't start docker image " + image + ": " + e.getMessage(), e);
+      }
+    } else {
+      LOGGER.info("Skipping startup of docker " + image);
     }
 
     try {
diff --git a/cassandra3/src/test/java/zipkin2/storage/cassandra/ITCassandraDependencies.java b/cassandra3/src/test/java/zipkin2/storage/cassandra/ITCassandraDependencies.java
index 3b32a9f..f027307 100644
--- a/cassandra3/src/test/java/zipkin2/storage/cassandra/ITCassandraDependencies.java
+++ b/cassandra3/src/test/java/zipkin2/storage/cassandra/ITCassandraDependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.storage.cassandra;
 
@@ -35,7 +38,7 @@ import static org.assertj.core.api.Assertions.assertThat;
 public class ITCassandraDependencies extends ITDependencies {
   @ClassRule
   public static CassandraStorageRule cassandraStorageRule =
-      new CassandraStorageRule("openzipkin/zipkin-cassandra:2.12.9");
+      new CassandraStorageRule("openzipkin/zipkin-cassandra:2.13.0");
 
   @Rule public TestName testName = new TestName();
 
diff --git a/cassandra3/src/test/resources/log4j.properties b/cassandra3/src/test/resources/log4j.properties
index 909328e..9d7bdc9 100644
--- a/cassandra3/src/test/resources/log4j.properties
+++ b/cassandra3/src/test/resources/log4j.properties
@@ -1,17 +1,3 @@
-#
-# Copyright 2016-2017 The OpenZipkin Authors
-#
-# Licensed 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.
-#
-# Set everything to be logged to the console
 log4j.rootCategory=WARN, console
 log4j.appender.console=org.apache.log4j.ConsoleAppender
 log4j.appender.console.target=System.err
diff --git a/elasticsearch/pom.xml b/elasticsearch/pom.xml
index 644f795..f0e7852 100644
--- a/elasticsearch/pom.xml
+++ b/elasticsearch/pom.xml
@@ -1,24 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright 2016-2019 The OpenZipkin Authors
+    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
 
-    Licensed 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
 
-    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.
+    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.
 
 -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.zipkin.dependencies</groupId>
+    <groupId>org.apache.zipkin.dependencies</groupId>
     <artifactId>zipkin-dependencies-parent</artifactId>
     <version>2.1.1-SNAPSHOT</version>
   </parent>
@@ -39,7 +44,7 @@
     </dependency>
 
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
       <artifactId>zipkin-storage-elasticsearch</artifactId>
       <version>${zipkin.version}</version>
       <scope>test</scope>
@@ -71,10 +76,9 @@
 
     <!-- integration tests -->
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
-      <artifactId>zipkin</artifactId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
+      <artifactId>zipkin-tests</artifactId>
       <scope>test</scope>
-      <type>test-jar</type>
     </dependency>
     <dependency>
       <groupId>org.testcontainers</groupId>
@@ -82,4 +86,15 @@
       <scope>test</scope>
     </dependency>
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>false</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJob.java b/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJob.java
index 9cc0daf..1b90da5 100644
--- a/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJob.java
+++ b/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJob.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.elasticsearch;
 
diff --git a/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/TraceIdAndJsonToDependencyLinks.java b/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/TraceIdAndJsonToDependencyLinks.java
index c1719e5..5cb80c4 100644
--- a/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/TraceIdAndJsonToDependencyLinks.java
+++ b/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/TraceIdAndJsonToDependencyLinks.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.elasticsearch;
 
diff --git a/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/package-info.java b/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/package-info.java
index 3c4163c..54f20bb 100644
--- a/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/package-info.java
+++ b/elasticsearch/src/main/java/zipkin2/dependencies/elasticsearch/package-info.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.
  */
 @javax.annotation.ParametersAreNonnullByDefault
 package zipkin2.dependencies.elasticsearch;
diff --git a/elasticsearch/src/test/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJobTest.java b/elasticsearch/src/test/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJobTest.java
index 030b2a8..9c964bb 100644
--- a/elasticsearch/src/test/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJobTest.java
+++ b/elasticsearch/src/test/java/zipkin2/dependencies/elasticsearch/ElasticsearchDependenciesJobTest.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.elasticsearch;
 
diff --git a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchDependencies.java b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchDependencies.java
index 8f214e5..bc91db6 100644
--- a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchDependencies.java
+++ b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchDependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.elasticsearch;
 
diff --git a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV2Dependencies.java b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV2Dependencies.java
index 42d9b24..cae802c 100644
--- a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV2Dependencies.java
+++ b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV2Dependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.elasticsearch;
 
@@ -19,7 +22,7 @@ public class ITElasticsearchV2Dependencies extends ITElasticsearchDependencies {
 
   @ClassRule
   public static LazyElasticsearchStorage storage =
-      new LazyElasticsearchStorage("openzipkin/zipkin-elasticsearch:2.12.9");
+      new LazyElasticsearchStorage("openzipkin/zipkin-elasticsearch:2.13.0");
 
   @Override
   protected ElasticsearchStorage esStorage() {
diff --git a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV5Dependencies.java b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV5Dependencies.java
index 57f69b5..5d1e56c 100644
--- a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV5Dependencies.java
+++ b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV5Dependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.elasticsearch;
 
@@ -19,7 +22,7 @@ public class ITElasticsearchV5Dependencies extends ITElasticsearchDependencies {
 
   @ClassRule
   public static LazyElasticsearchStorage storage =
-      new LazyElasticsearchStorage("openzipkin/zipkin-elasticsearch5:2.12.9");
+      new LazyElasticsearchStorage("openzipkin/zipkin-elasticsearch5:2.13.0");
 
   @Override
   protected ElasticsearchStorage esStorage() {
diff --git a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV6Dependencies.java b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV6Dependencies.java
index 29befdd..669bd41 100644
--- a/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV6Dependencies.java
+++ b/elasticsearch/src/test/java/zipkin2/elasticsearch/ITElasticsearchV6Dependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.elasticsearch;
 
@@ -19,7 +22,7 @@ public class ITElasticsearchV6Dependencies extends ITElasticsearchDependencies {
 
   @ClassRule
   public static LazyElasticsearchStorage storage =
-      new LazyElasticsearchStorage("openzipkin/zipkin-elasticsearch6:2.12.9");
+      new LazyElasticsearchStorage("openzipkin/zipkin-elasticsearch6:2.13.0");
 
   @Override
   protected ElasticsearchStorage esStorage() {
diff --git a/elasticsearch/src/test/java/zipkin2/elasticsearch/LazyElasticsearchStorage.java b/elasticsearch/src/test/java/zipkin2/elasticsearch/LazyElasticsearchStorage.java
index 6793530..be26c27 100644
--- a/elasticsearch/src/test/java/zipkin2/elasticsearch/LazyElasticsearchStorage.java
+++ b/elasticsearch/src/test/java/zipkin2/elasticsearch/LazyElasticsearchStorage.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.elasticsearch;
 
@@ -20,6 +23,7 @@ import org.junit.AssumptionViolatedException;
 import org.junit.rules.TestRule;
 import org.junit.runner.Description;
 import org.junit.runners.model.Statement;
+import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.testcontainers.containers.GenericContainer;
 import org.testcontainers.containers.output.Slf4jLogConsumer;
@@ -27,6 +31,8 @@ import org.testcontainers.containers.wait.HttpWaitStrategy;
 import zipkin2.CheckResult;
 
 class LazyElasticsearchStorage implements TestRule {
+  static final Logger LOGGER = LoggerFactory.getLogger(LazyElasticsearchStorage.class);
+
   /** Need to watch index pattern from 1970 doesn't result in a request line longer than 4096 */
   static final String INDEX = "test_zipkin";
 
@@ -51,19 +57,23 @@ class LazyElasticsearchStorage implements TestRule {
   }
 
   ElasticsearchStorage compute() {
-    try {
-      container =
-          new GenericContainer(image)
-              .withExposedPorts(9200)
-              .withEnv("ES_JAVA_OPTS", "-Dmapper.allow_dots_in_name=true -Xms512m -Xmx512m")
-              .waitingFor(new HttpWaitStrategy().forPath("/"));
-      container.start();
-      if (Boolean.valueOf(System.getenv("ES_DEBUG"))) {
-        container.followOutput(new Slf4jLogConsumer(LoggerFactory.getLogger(image)));
+    if (!"true".equals(System.getProperty("docker.skip"))) {
+      try {
+        container =
+            new GenericContainer(image)
+                .withExposedPorts(9200)
+                .withEnv("ES_JAVA_OPTS", "-Dmapper.allow_dots_in_name=true -Xms512m -Xmx512m")
+                .waitingFor(new HttpWaitStrategy().forPath("/"));
+        container.start();
+        if (Boolean.valueOf(System.getenv("ES_DEBUG"))) {
+          container.followOutput(new Slf4jLogConsumer(LoggerFactory.getLogger(image)));
+        }
+        System.out.println("Starting docker image " + image);
+      } catch (RuntimeException e) {
+        // Ignore
       }
-      System.out.println("Starting docker image " + image);
-    } catch (RuntimeException e) {
-      // Ignore
+    } else {
+      LOGGER.info("Skipping startup of docker " + image);
     }
 
     ElasticsearchStorage result = computeStorageBuilder().build();
diff --git a/main/pom.xml b/main/pom.xml
index cab5859..7e83dd7 100644
--- a/main/pom.xml
+++ b/main/pom.xml
@@ -1,24 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright 2016-2019 The OpenZipkin Authors
+    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
 
-    Licensed 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
 
-    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.
+    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.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.zipkin.dependencies</groupId>
+    <groupId>org.apache.zipkin.dependencies</groupId>
     <artifactId>zipkin-dependencies-parent</artifactId>
     <version>2.1.1-SNAPSHOT</version>
   </parent>
@@ -173,6 +176,13 @@
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>false</skip>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 </project>
diff --git a/main/src/main/java/zipkin2/dependencies/LogInitializer.java b/main/src/main/java/zipkin2/dependencies/LogInitializer.java
index cbd96cd..a197776 100644
--- a/main/src/main/java/zipkin2/dependencies/LogInitializer.java
+++ b/main/src/main/java/zipkin2/dependencies/LogInitializer.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies;
 
diff --git a/main/src/main/java/zipkin2/dependencies/ZipkinDependenciesJob.java b/main/src/main/java/zipkin2/dependencies/ZipkinDependenciesJob.java
index 5fbc728..d2e1519 100644
--- a/main/src/main/java/zipkin2/dependencies/ZipkinDependenciesJob.java
+++ b/main/src/main/java/zipkin2/dependencies/ZipkinDependenciesJob.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies;
 
diff --git a/main/src/main/java/zipkin2/dependencies/package-info.java b/main/src/main/java/zipkin2/dependencies/package-info.java
index 0a97467..953480a 100644
--- a/main/src/main/java/zipkin2/dependencies/package-info.java
+++ b/main/src/main/java/zipkin2/dependencies/package-info.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.
  */
 @javax.annotation.ParametersAreNonnullByDefault
 package zipkin2.dependencies;
diff --git a/main/src/main/resources/log4j.properties b/main/src/main/resources/log4j.properties
index c85abc3..b9fd516 100644
--- a/main/src/main/resources/log4j.properties
+++ b/main/src/main/resources/log4j.properties
@@ -6,7 +6,7 @@
 # (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
+#     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,
diff --git a/main/src/test/java/zipkin2/dependencies/ZipkinDependenciesJobTest.java b/main/src/test/java/zipkin2/dependencies/ZipkinDependenciesJobTest.java
index 440a4e6..b766d8d 100644
--- a/main/src/test/java/zipkin2/dependencies/ZipkinDependenciesJobTest.java
+++ b/main/src/test/java/zipkin2/dependencies/ZipkinDependenciesJobTest.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies;
 
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/mysql/pom.xml b/mysql/pom.xml
index fd3ca02..fbb3d9a 100644
--- a/mysql/pom.xml
+++ b/mysql/pom.xml
@@ -1,24 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright 2016-2019 The OpenZipkin Authors
+    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
 
-    Licensed 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
 
-    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.
+    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.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
   <parent>
-    <groupId>io.zipkin.dependencies</groupId>
+    <groupId>org.apache.zipkin.dependencies</groupId>
     <artifactId>zipkin-dependencies-parent</artifactId>
     <version>2.1.1-SNAPSHOT</version>
   </parent>
@@ -44,7 +47,7 @@
     </dependency>
 
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
       <artifactId>zipkin-storage-mysql-v1</artifactId>
       <version>${zipkin.version}</version>
       <scope>test</scope>
@@ -52,10 +55,20 @@
 
     <!-- integration tests -->
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
-      <artifactId>zipkin</artifactId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
+      <artifactId>zipkin-tests</artifactId>
       <scope>test</scope>
-      <type>test-jar</type>
     </dependency>
   </dependencies>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>false</skip>
+        </configuration>
+      </plugin>
+    </plugins>
+  </build>
 </project>
diff --git a/mysql/src/main/java/zipkin2/dependencies/mysql/DependencyLinkSpanIterator.java b/mysql/src/main/java/zipkin2/dependencies/mysql/DependencyLinkSpanIterator.java
index d564b65..edef5c9 100644
--- a/mysql/src/main/java/zipkin2/dependencies/mysql/DependencyLinkSpanIterator.java
+++ b/mysql/src/main/java/zipkin2/dependencies/mysql/DependencyLinkSpanIterator.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.mysql;
 
diff --git a/mysql/src/main/java/zipkin2/dependencies/mysql/MySQLDependenciesJob.java b/mysql/src/main/java/zipkin2/dependencies/mysql/MySQLDependenciesJob.java
index 7ac810b..75e5b35 100644
--- a/mysql/src/main/java/zipkin2/dependencies/mysql/MySQLDependenciesJob.java
+++ b/mysql/src/main/java/zipkin2/dependencies/mysql/MySQLDependenciesJob.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.mysql;
 
diff --git a/mysql/src/main/java/zipkin2/dependencies/mysql/PeekingIterator.java b/mysql/src/main/java/zipkin2/dependencies/mysql/PeekingIterator.java
index 2491d93..296d8b0 100644
--- a/mysql/src/main/java/zipkin2/dependencies/mysql/PeekingIterator.java
+++ b/mysql/src/main/java/zipkin2/dependencies/mysql/PeekingIterator.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.mysql;
 
diff --git a/mysql/src/main/java/zipkin2/dependencies/mysql/RowsToDependencyLinks.java b/mysql/src/main/java/zipkin2/dependencies/mysql/RowsToDependencyLinks.java
index cb35b23..82c396f 100644
--- a/mysql/src/main/java/zipkin2/dependencies/mysql/RowsToDependencyLinks.java
+++ b/mysql/src/main/java/zipkin2/dependencies/mysql/RowsToDependencyLinks.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.dependencies.mysql;
 
diff --git a/mysql/src/main/java/zipkin2/dependencies/mysql/package-info.java b/mysql/src/main/java/zipkin2/dependencies/mysql/package-info.java
index e77fa74..d1c8743 100644
--- a/mysql/src/main/java/zipkin2/dependencies/mysql/package-info.java
+++ b/mysql/src/main/java/zipkin2/dependencies/mysql/package-info.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.
  */
 @javax.annotation.ParametersAreNonnullByDefault
 package zipkin2.dependencies.mysql;
diff --git a/mysql/src/test/java/zipkin2/storage/mysql/v1/ITMySQLDependencies.java b/mysql/src/test/java/zipkin2/storage/mysql/v1/ITMySQLDependencies.java
index f486e73..225bc99 100644
--- a/mysql/src/test/java/zipkin2/storage/mysql/v1/ITMySQLDependencies.java
+++ b/mysql/src/test/java/zipkin2/storage/mysql/v1/ITMySQLDependencies.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2019 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.storage.mysql.v1;
 
diff --git a/mysql/src/test/java/zipkin2/storage/mysql/v1/MySQLTestGraph.java b/mysql/src/test/java/zipkin2/storage/mysql/v1/MySQLTestGraph.java
index cd3b387..65e6649 100644
--- a/mysql/src/test/java/zipkin2/storage/mysql/v1/MySQLTestGraph.java
+++ b/mysql/src/test/java/zipkin2/storage/mysql/v1/MySQLTestGraph.java
@@ -1,15 +1,18 @@
 /*
- * Copyright 2016-2018 The OpenZipkin Authors
+ * 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
  *
- * Licensed 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
  *
- * 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.
+ * 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.storage.mysql.v1;
 
diff --git a/pom.xml b/pom.xml
index 507da20..17386d6 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1,23 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 
-    Copyright 2016-2019 The OpenZipkin Authors
+    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
 
-    Licensed 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
 
-    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.
+    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.
 
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
   <modelVersion>4.0.0</modelVersion>
 
-  <groupId>io.zipkin.dependencies</groupId>
+  <parent>
+    <groupId>org.apache</groupId>
+    <artifactId>apache</artifactId>
+    <version>21</version>
+  </parent>
+
+  <groupId>org.apache.zipkin.dependencies</groupId>
   <artifactId>zipkin-dependencies-parent</artifactId>
   <version>2.1.1-SNAPSHOT</version>
   <packaging>pom</packaging>
@@ -43,37 +52,38 @@
     <!-- can't switch to 2.12 until spark-cassandra-connector updates -->
     <scala.binary.version>2.11</scala.binary.version>
     <spark.version>2.4.1</spark.version>
-    <zipkin.version>2.12.9</zipkin.version>
+    <zipkin.version>2.13.0</zipkin.version>
     <junit.version>4.12</junit.version>
     <assertj.version>3.12.2</assertj.version>
     <jackson.version>2.9.8</jackson.version>
     <!-- keep this in sync with zipkin's version -->
-    <okhttp.version>3.14.0</okhttp.version>
+    <okhttp.version>3.14.1</okhttp.version>
     <!-- connector uses an old version of the driver -->
     <cassandra-driver-core.version>3.7.1</cassandra-driver-core.version>
     <spark-cassandra-connector.version>2.4.1</spark-cassandra-connector.version>
-    <testcontainers.version>1.11.1</testcontainers.version>
+    <testcontainers.version>1.11.2</testcontainers.version>
 
-    <maven-compiler-plugin.version>3.8.0</maven-compiler-plugin.version>
+    <maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
     <maven-install-plugin.version>3.0.0-M1</maven-install-plugin.version>
     <maven-deploy-plugin.version>3.0.0-M1</maven-deploy-plugin.version>
     <maven-source-plugin.version>3.0.1</maven-source-plugin.version>
     <maven-javadoc-plugin.version>3.0.1</maven-javadoc-plugin.version>
     <license-maven-plugin.version>3.0</license-maven-plugin.version>
-    <maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
+    <maven-jar-plugin.version>3.1.2</maven-jar-plugin.version>
     <maven-release-plugin.version>2.5.3</maven-release-plugin.version>
     <maven-shade-plugin.version>3.2.1</maven-shade-plugin.version>
     <maven-failsafe-plugin.version>3.0.0-M3</maven-failsafe-plugin.version>
   </properties>
 
-  <name>Zipkin Dependencies (Parent)</name>
-  <description>Zipkin Dependencies (Parent)</description>
-  <url>https://github.com/openzipkin/zipkin-dependencies</url>
+  <name>Apache Zipkin (incubating) Dependencies (Parent)</name>
+  <description>Apache Zipkin (incubating) Dependencies (Parent)</description>
+  <url>https://github.com/apache/incubator-zipkin-dependencies</url>
+
   <inceptionYear>2016</inceptionYear>
 
   <organization>
-    <name>OpenZipkin</name>
-    <url>http://zipkin.io/</url>
+    <name>The Apache Software Foundation</name>
+    <url>http://www.apache.org/</url>
   </organization>
 
   <licenses>
@@ -85,9 +95,9 @@
   </licenses>
 
   <scm>
-    <url>https://github.com/openzipkin/zipkin-dependencies</url>
-    <connection>scm:git:https://github.com/openzipkin/zipkin-dependencies.git</connection>
-    <developerConnection>scm:git:https://github.com/openzipkin/zipkin-dependencies.git</developerConnection>
+    <url>https://github.com/apache/incubator-zipkin-dependencies</url>
+    <connection>scm:git:https://github.com/apache/incubator-zipkin-dependencies.git</connection>
+    <developerConnection>scm:git:https://github.com/apache/incubator-zipkin-dependencies.git</developerConnection>
     <tag>HEAD</tag>
   </scm>
 
@@ -100,28 +110,43 @@
     </developer>
   </developers>
 
+
+  <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-dependencies/;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>http://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/openzipkin/zipkin-dependencies/issues</url>
+    <url>https://github.com/apache/incubator-zipkin-dependencies/issues</url>
   </issueManagement>
 
   <dependencyManagement>
     <dependencies>
       <dependency>
-        <groupId>io.zipkin.zipkin2</groupId>
-        <artifactId>zipkin</artifactId>
-        <type>test-jar</type>
+        <groupId>org.apache.zipkin.zipkin2</groupId>
+        <artifactId>zipkin-tests</artifactId>
         <version>${zipkin.version}</version>
       </dependency>
 
@@ -208,7 +233,7 @@
       <artifactId>spark-core_${scala.binary.version}</artifactId>
     </dependency>
     <dependency>
-      <groupId>io.zipkin.zipkin2</groupId>
+      <groupId>org.apache.zipkin.zipkin2</groupId>
       <artifactId>zipkin</artifactId>
       <version>${zipkin.version}</version>
     </dependency>
@@ -242,9 +267,9 @@
         <plugin>
           <groupId>io.takari</groupId>
           <artifactId>maven</artifactId>
-          <version>0.7.5</version>
+          <version>0.7.6</version>
           <configuration>
-            <maven>3.6.0</maven>
+            <maven>3.6.1</maven>
           </configuration>
         </plugin>
 
@@ -322,27 +347,26 @@
           </mapping>
           <excludes>
             <exclude>.travis.yml</exclude>
+            <exclude>.editorconfig</exclude>
+            <exclude>.gitattributes</exclude>
             <exclude>.gitignore</exclude>
             <exclude>.mvn/**</exclude>
             <exclude>mvnw*</exclude>
             <exclude>etc/header.txt</exclude>
             <exclude>**/.idea/**</exclude>
+            <exclude>**/.editorconfig</exclude>
             <exclude>LICENSE</exclude>
+            <exclude>DISCLAIMER</exclude>
+            <exclude>DEPENDENCIES</exclude>
+            <exclude>NOTICE</exclude>
+            <exclude>Jenkinsfile</exclude>
             <exclude>**/*.md</exclude>
-            <exclude>dsc-cassandra-*/**</exclude>
-            <exclude>elasticsearch-2*/**</exclude>
+            <exclude>**/nohup.out</exclude>
             <exclude>src/test/resources/**</exclude>
-            <exclude>src/main/resources/**</exclude>
+            <exclude>**/generated/**</exclude>
           </excludes>
           <strictCheck>true</strictCheck>
         </configuration>
-        <dependencies>
-          <dependency>
-            <groupId>com.mycila</groupId>
-            <artifactId>license-maven-plugin-git</artifactId>
-            <version>${license-maven-plugin.version}</version>
-          </dependency>
-        </dependencies>
         <executions>
           <execution>
             <goals>
@@ -393,6 +417,72 @@
           </execution>
         </executions>
       </plugin>
+
+
+      <plugin>
+        <groupId>org.apache.rat</groupId>
+        <artifactId>apache-rat-plugin</artifactId>
+        <version>0.13</version>
+        <configuration>
+          <excludes>
+            <exclude>**/target/**</exclude>
+
+            <!-- IDE files -->
+            <exclude>**/*.iml</exclude>
+            <exclude>**/.idea/**</exclude>
+            <exclude>**/*.classpath</exclude>
+            <exclude>**/.project</exclude>
+            <exclude>**/.settings/**</exclude>
+            <exclude>**/.editorconfig</exclude>
+
+            <!-- git files -->
+            <exclude>**/.gitignore</exclude>
+            <exclude>**/.gitmodules</exclude>
+            <exclude>**/.git/**</exclude>
+
+            <!-- CI files -->
+            <exclude>**/.travis.yml</exclude>
+
+            <!-- GitHub files -->
+            <exclude>**/.github/**</exclude>
+
+            <!-- document files -->
+            <exclude>**/*.md</exclude>
+
+            <!-- test assets -->
+            <exclude>**/src/test/resources/**</exclude>
+
+            <!-- Maven Wrapper generated files -->
+            <exclude>.mvn/wrapper/maven-wrapper.properties</exclude>
+
+            <exclude>**/nohup.out</exclude>
+          </excludes>
+        </configuration>
+        <executions>
+          <execution>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+
+      <!-- org.apache:apache:21 sets maven-remote-resources-plugin in plugins, not pluginManagement
+           This results in execution in the parent project, and a side effect of an empty
+           DEPENDENCIES file in the assembly when packaged with the apache-release profile.
+
+           https://issues.apache.org/jira/browse/MPOM-218
+
+           This works around the problem by skipping at the parent level at the cost of having to
+           un-skip it at every deployed child.
+       -->
+      <plugin>
+        <artifactId>maven-remote-resources-plugin</artifactId>
+        <configuration>
+          <skip>true</skip>
+        </configuration>
+      </plugin>
     </plugins>
   </build>
 
@@ -440,44 +530,6 @@
         </plugins>
       </build>
     </profile>
-    <profile>
-      <id>release</id>
-      <build>
-        <plugins>
-          <!-- Creates source jar -->
-          <plugin>
-            <artifactId>maven-source-plugin</artifactId>
-            <version>${maven-source-plugin.version}</version>
-            <executions>
-              <execution>
-                <id>attach-sources</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-              </execution>
-            </executions>
-          </plugin>
 
-          <plugin>
-            <artifactId>maven-javadoc-plugin</artifactId>
-            <version>${maven-javadoc-plugin.version}</version>
-            <configuration>
-              <failOnError>false</failOnError>
-              <!-- hush pedantic warnings: we don't put param and return on everything! -->
-              <doclint>none</doclint>
-            </configuration>
-            <executions>
-              <execution>
-                <id>attach-javadocs</id>
-                <goals>
-                  <goal>jar</goal>
-                </goals>
-                <phase>package</phase>
-              </execution>
-            </executions>
-          </plugin>
-        </plugins>
-      </build>
-    </profile>
   </profiles>
 </project>
diff --git a/src/etc/header.txt b/src/etc/header.txt
index 6dba3bd..1745cfe 100644
--- a/src/etc/header.txt
+++ b/src/etc/header.txt
@@ -1,11 +1,14 @@
-Copyright ${license.git.copyrightYears} The OpenZipkin Authors
+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
 
-Licensed 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
 
-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.
+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.
diff --git a/src/main/assemblies/source-release.xml b/src/main/assemblies/source-release.xml
new file mode 100644
index 0000000..9647e86
--- /dev/null
+++ b/src/main/assemblies/source-release.xml
@@ -0,0 +1,93 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!--
+
+    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.
+
+-->
+<assembly>
+  <id>source-release</id>
+  <!-- the only thing being done differently here is the base directory -->
+  <baseDirectory>zipkin-dependencies-${version}</baseDirectory>
+  <formats>
+    <format>zip</format>
+  </formats>
+
+  <!-- Inlined to exclude all maven wrapper artifacts. This allows us to avoid NOTICE citations -->
+  <fileSets>
+    <!-- main project directory structure -->
+    <fileSet>
+      <directory>.</directory>
+      <outputDirectory></outputDirectory>
+      <useDefaultExcludes>true</useDefaultExcludes>
+      <excludes>
+        <!-- PATCH: Travis -->
+        <exclude>.travis.yml</exclude>
+
+        <!-- PATCH: Jenkinsfile -->
+        <exclude>Jenkinsfile</exclude>
+
+        <!-- PATCH: Maven wrapper -->
+        <exclude>.mvn/**</exclude>
+        <exclude>mvnw</exclude>
+        <exclude>mvnw.cmd</exclude>
+
+        <!-- PATCH: GitHub files -->
+        <exclude>.github/**</exclude>
+
+        <!-- build output -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/).*${project.build.directory}.*]</exclude>
+
+        <!-- NOTE: Most of the following excludes should not be required
+             if the standard release process is followed. This is because the
+             release plugin checks out project sources into a location like
+             target/checkout, then runs the build from there. The result is
+             a source-release archive that comes from a pretty clean directory
+             structure.
+
+             HOWEVER, if the release plugin is configured to run extra goals
+             or generate a project website, it's definitely possible that some
+             of these files will be present. So, it's safer to exclude them.
+        -->
+
+        <!-- IDEs -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?maven-eclipse\.xml]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.project]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.classpath]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iws]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.idea(/.*)?]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?out(/.*)?]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.ipr]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?[^/]*\.iml]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.settings(/.*)?]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.externalToolBuilders(/.*)?]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.deployables(/.*)?]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?\.wtpmodules(/.*)?]</exclude>
+
+        <!-- misc -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?cobertura\.ser]</exclude>
+
+        <!-- release-plugin temp files -->
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?pom\.xml\.releaseBackup]</exclude>
+        <exclude>%regex[(?!((?!${project.build.directory}/)[^/]+/)*src/)(.*/)?release\.properties]</exclude>
+      </excludes>
+    </fileSet>
+    <!-- license, readme, etc. calculated at build time -->
+    <fileSet>
+      <directory>${project.build.directory}/maven-shared-archive-resources/META-INF</directory>
+      <outputDirectory></outputDirectory>
+    </fileSet>
+  </fileSets>
+</assembly>
diff --git a/travis/publish.sh b/travis/publish.sh
deleted file mode 100755
index 2b6e849..0000000
--- a/travis/publish.sh
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/env bash
-#
-# Copyright 2016-2017 The OpenZipkin Authors
-#
-# Licensed 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.
-#
-
-set -euo pipefail
-set -x
-
-build_started_by_tag() {
-  if [ "${TRAVIS_TAG}" == "" ]; then
-    echo "[Publishing] This build was not started by a tag, publishing snapshot"
-    return 1
-  else
-    echo "[Publishing] This build was started by the tag ${TRAVIS_TAG}, publishing release"
-    return 0
-  fi
-}
-
-is_pull_request() {
-  if [ "${TRAVIS_PULL_REQUEST}" != "false" ]; then
-    echo "[Not Publishing] This is a Pull Request"
-    return 0
-  else
-    echo "[Publishing] This is not a Pull Request"
-    return 1
-  fi
-}
-
-is_travis_branch_master() {
-  if [ "${TRAVIS_BRANCH}" = master ]; then
-    echo "[Publishing] Travis branch is master"
-    return 0
-  else
-    echo "[Not Publishing] Travis branch is not master"
-    return 1
-  fi
-}
-
-check_travis_branch_equals_travis_tag() {
-  #Weird comparison comparing branch to tag because when you 'git push --tags'
-  #the branch somehow becomes the tag value
-  #github issue: https://github.com/travis-ci/travis-ci/issues/1675
-  if [ "${TRAVIS_BRANCH}" != "${TRAVIS_TAG}" ]; then
-    echo "Travis branch does not equal Travis tag, which it should, bailing out."
-    echo "  github issue: https://github.com/travis-ci/travis-ci/issues/1675"
-    exit 1
-  else
-    echo "[Publishing] Branch (${TRAVIS_BRANCH}) same as Tag (${TRAVIS_TAG})"
-  fi
-}
-
-check_release_tag() {
-    tag="${TRAVIS_TAG}"
-    if [[ "$tag" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$ ]]; then
-        echo "Build started by version tag $tag. During the release process tags like this"
-        echo "are created by the 'release' Maven plugin. Nothing to do here."
-        exit 0
-    elif [[ ! "$tag" =~ ^release-[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$ ]]; then
-        echo "You must specify a tag of the format 'release-0.0.0' to release this project."
-        echo "The provided tag ${tag} doesn't match that. Aborting."
-        exit 1
-    fi
-}
-
-is_release_commit() {
-  project_version=$(./mvnw help:evaluate -N -Dexpression=project.version|sed -n '/^[0-9]/p')
-  if [[ "$project_version" =~ ^[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+$ ]]; then
-    echo "Build started by release commit $project_version. Will synchronize to maven central."
-    return 0
-  else
-    return 1
-  fi
-}
-
-release_version() {
-    echo "${TRAVIS_TAG}" | sed 's/^release-//'
-}
-
-safe_checkout_master() {
-  # We need to be on a branch for release:perform to be able to create commits, and we want that branch to be master.
-  # But we also want to make sure that we build and release exactly the tagged version, so we verify that the remote
-  # master is where our tag is.
-  git checkout -B master
-  git fetch origin master:origin/master
-  commit_local_master="$(git show --pretty='format:%H' master)"
-  commit_remote_master="$(git show --pretty='format:%H' origin/master)"
-  if [ "$commit_local_master" != "$commit_remote_master" ]; then
-    echo "Master on remote 'origin' has commits since the version under release, aborting"
-    exit 1
-  fi
-}
-
-#----------------------
-# MAIN
-#----------------------
-
-if ! is_pull_request && build_started_by_tag; then
-  check_travis_branch_equals_travis_tag
-  check_release_tag
-fi
-
-# Use quiet as shade plugin creates too many logs for Travis: The log length has exceeded the limit of 4 MB
-# skip license on travis due to zipkin #1512
-MYSQL_USER=root ./mvnw -q install -Dlicense.skip=true -nsu
-
-# If we are on a pull request, our only job is to run tests, which happened above via ./mvnw install
-if is_pull_request; then
-  true
-# If we are on master, we will deploy the latest snapshot or release version
-#   - If a release commit fails to deploy for a transient reason, delete the broken version from bintray and click rebuild
-elif is_travis_branch_master; then
-  ./mvnw -q --batch-mode -s ./.settings.xml -Prelease -nsu -DskipTests -Dlicense.skip=true deploy
-
-  # If the deployment succeeded, sync it to Maven Central. Note: this needs to be done once per project, not module, hence -N
-  if is_release_commit; then
-    ./mvnw -q --batch-mode -s ./.settings.xml -nsu -N io.zipkin.centralsync-maven-plugin:centralsync-maven-plugin:sync
-  fi
-
-# If we are on a release tag, the following will update any version references and push a version tag for deployment.
-elif build_started_by_tag; then
-  safe_checkout_master
-  # Use quiet as shade plugin creates too many logs for Travis: The log length has exceeded the limit of 4 MB
-  # skip license on travis due to #1512
-  ./mvnw -q --batch-mode -s ./.settings.xml -Prelease -nsu -DreleaseVersion="$(release_version)" -Darguments="-DskipTests -Dlicense.skip=true" release:prepare
-fi
-