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/06/13 08:06:21 UTC

[incubator-zipkin-api] branch publish-oz created (now fc7bb13)

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

adriancole pushed a change to branch publish-oz
in repository https://gitbox.apache.org/repos/asf/incubator-zipkin-api.git.


      at fc7bb13  Restores OpenZipkin publishing configuration (#12)

This branch includes the following new commits:

     new fc7bb13  Restores OpenZipkin publishing configuration (#12)

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-zipkin-api] 01/01: Restores OpenZipkin publishing configuration (#12)

Posted by ad...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

adriancole pushed a commit to branch publish-oz
in repository https://gitbox.apache.org/repos/asf/incubator-zipkin-api.git

commit fc7bb136d08529e27eec0149bb5d88ff1b2732e0
Author: Adrian Cole <ac...@pivotal.io>
AuthorDate: Thu Jun 13 16:05:54 2019 +0800

    Restores OpenZipkin publishing configuration (#12)
    
    This reverts back to OpenZipkin publishing configuration.
    
    See https://github.com/apache/incubator-zipkin/issues/2629
---
 .mvn/wrapper/maven-wrapper.properties  |   2 +-
 .settings.xml                          |  43 +++++++
 .travis.yml                            |  39 +++++-
 DISCLAIMER                             |   5 -
 Jenkinsfile                            |  84 ------------
 NOTICE                                 |   5 -
 README.md                              |   2 -
 mvnw                                   |   4 +-
 mvnw.cmd                               |   4 +-
 package-lock.json                      |  41 ++++--
 package.json                           |   8 +-
 pom.xml                                | 225 +++++++++++++++------------------
 src/etc/header.txt                     |  20 ++-
 src/main/assemblies/source-release.xml |  43 -------
 thrift/zipkinCore.thrift               |  22 ++--
 thrift/zipkinDependencies.thrift       |  22 ++--
 travis/publish.sh                      | 138 ++++++++++++++++++++
 validate.test.js                       |  21 ++-
 zipkin-api.yaml                        |  21 ++-
 zipkin.proto                           |  24 ++--
 zipkin2-api.yaml                       |  21 ++-
 21 files changed, 422 insertions(+), 372 deletions(-)

diff --git a/.mvn/wrapper/maven-wrapper.properties b/.mvn/wrapper/maven-wrapper.properties
index ec07118..fa87ad7 100644
--- a/.mvn/wrapper/maven-wrapper.properties
+++ b/.mvn/wrapper/maven-wrapper.properties
@@ -1,2 +1,2 @@
 distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.6.1/apache-maven-3.6.1-bin.zip
-wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.4/maven-wrapper-0.5.4.jar
+wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.5/maven-wrapper-0.5.5.jar
diff --git a/.settings.xml b/.settings.xml
new file mode 100644
index 0000000..022e7dd
--- /dev/null
+++ b/.settings.xml
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+    Copyright 2018-2019 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:xsi="http://www.w3.org/2001/XMLSchema-instance"
+    xmlns="http://maven.apache.org/SETTINGS/1.0.0"
+    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>zipkinci</username>
+      <password>${env.GH_TOKEN}</password>
+    </server>
+  </servers>
+</settings>
diff --git a/.travis.yml b/.travis.yml
index 7f0513d..af9e1fb 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -2,8 +2,39 @@
 
 cache:
   directories:
-  - $HOME/.npm
+  - $HOME/.m2
 
-language: node_js
-node_js:
-  - "12"
+language: java
+
+jdk: oraclejdk8
+
+before_install:
+  # 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
+
+# Override default travis to use the maven wrapper
+install: ./mvnw install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
+script: ./travis/publish.sh
+
+# 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
+branches:
+  except:
+    - /^[0-9]/
+
+env:
+  global:
+    # Ex. travis encrypt BINTRAY_USER=your_github_account
+    - secure: "f84wLqsqPo/OmfP/K+FtXn1SNcGGhQa2elPvio/adB6CODdvir5e7mDHAql8zIj5IePzeFvW5RVQMGTDXBDvgVVDCiTdMuY4lRNYyJrMAElrJWJSaoCRW6PpbpRFAZ5zbAbvhgtNsgm1Y8g/0kndnxlOZmxL57W5yDxg3ALf0WhsQUFcE01gVRSRl3/D97NrOAyVSZY4c7WCiVmo9Tp7sIemsGLf/hCQEBbjgtXEJ097WARmEWhNo+6mJKvnSDPhmxK5BU0xRWk+8igfpcY31K4RTc+0hklN3eBOy1yLLzgQEVZXVoAemv3qg2/wOnNxGa0g7r3rn/zB09psY6tVzHfNv67cOuCWmjoeAEV895xSAHGb0XKSuheZbeoXpMKm5JgIeiHySUUGj3wbbt2WPGz+isyYtKgF6xydC60REKVpuOTOsm7YIpKcOehLPyBuhD4gFxBzit0kX5OeCOwr7TQxOTgOs [...]
+    # Ex. travis encrypt BINTRAY_KEY=xxx-https://bintray.com/profile/edit-xxx --add
+    - secure: "MHUv+QqNQtvgQdjXqOmLpjyBuwFE/s5j2m9hc27aJ88exJtlmg8SbXg5cnQ81Z7GFm800OeIotEu9DZqYFQobWiIKIV2p0Y3FG58EHTb7yA5VKUq3/bCs8rHDqcub1XnHp3QXE7r2bYJXtWQi2+S2Xx/Lt0Jlb9O4WVd/WNl1NpYFtzPAqwClCqCMTTr9VFCLPO7AnUwhsc95VaBeJdqe3P5A874pEWi7vv7MqEhPLwfgfgtyQ/ulOiQrp1tINAZOmtfWHBkZQYG2wp6ViiLLN5F2MYCf9yVoHuUFeDiOuhAm2poGKvHA6nh3mM9+3dWpRxCm0jZUtU1cefx+a7JAgoH5apfHVSYUhZH/EEgPsuPA2rQ4y4Y7H+Eb9ird6cNgrmMWkNmAJxKPWLtxFphLvjFwDBLWVkEwoQy36PY66S5LKljvXvUOh2muxxcw0MQYdhwTFwV2DxSsNXv4UbJKui+oUOcP [...]
+    # Ex. travis encrypt GH_TOKEN=XXX-https://github.com/settings/tokens-XXX --add
+    - secure: "q/TAuVSj+SPF6QHkkd1QI6B8GqaDojq9AxmRZ9DUfMYBOszzc9zZZDvh0qpMbqRMdYTGexnK42Z654etgvHaWc+C7UhCSCndrWJE3GMF6C+CwdlVvxcZ5BTKrTOhoioww039jgAwvVV3Jv5tbqKLYpMcG1KSNVyrkJL0GO/Q7AbWLIMjd4YRKx2TPvZ1EUFGvQZtsz5qz0eLq9CuFfzIO9nOxwxavDBYBWP4CLgKCFNUImGc/LiZU54laCMtoUkl41bOmTeuJK2hTkcXtqNmptmAZiEItUBmqYzA8ZTw/wv0XysVYmUfDozsaaW/W6M/otDlj8HaOE5wJqjizhUP/Fy/A1wKioINnm+IrlMxUUIMG+/WbId4LsmVDpeE+KuA1lZ4Gp69fi86qIEpb+qInTMRFmDe65IpmJzKuBBgdQhPo/CAo5WHFd4t3NTIK7NTW0o4OuT/KNybJxeBCj9Uf8u8yR+7R [...]
+    # Ex. travis encrypt SONATYPE_USER=your_sonatype_account
+    - secure: "PUWmzrTDOacmR4Ai64PgB+FSWgTpULBlqlrzTyuPRI5HsF+7EjMOfB18qheTbA2GdV87dUcR46yr9ixD3ltY2Ni5hkPaGKyqGfLHNy0RhAvhQcdD7HXhtjriL1pHZdKU/SDsqkuCVZWTXNVXUB/RVz5u9f2cRW68+h4CAC02yirnNRt4/xjdB37Tldki4X+5LMvJWcW+LA9o1G3QkLk8RfTbzT6YcxCSAV8XqdH6CTMSTuzbn+m8uR2t0oX+rUsY3pLw10p9hUrnfEGTTKubRx8jzBonHUsFnnmJ6IntK/pTPxK0H1sMb1kCsfaZ/tR4Zgz2zAQWe96q7oB/zU8Fd0PnFK4NLBZ96GkYynnWV9yhjzDeBbgXvTVH40IyTbSGcwPjnTe1290WgBJlukFTTWmpUuAVVLPgGX0q6r6xQZv91fxH6Vzwl/KWs9CxELuP6A60rRzKsxLa2ktkRznnMcokJpvhU [...]
+    # Ex. travis encrypt SONATYPE_PASSWORD=your_sonatype_password
+    - secure: "iIZwYdtHnZS0cWt9K9Z9udOftagEwbx2ct8dKANQyDsTqjF2oAAHIyyJtoeJsxTVe2OXYKLSGYJiWMNaagSRW/30uE46d6TrZ0VLrEIGl8tO2ZqfSanNDwqUx52WvBgZr5IirOnrSLdiGKAju4Rs6K1/NNAo+zRBrgv5OL/S72KORDYRWD7vca3uh/BSNDgMY8i3TJzV0OcFZnFbjQo5lEx+9iEr9tJKaiVnlY+GRaz5P6X7rmtxm7x7a3EpeBWla0jHR0lhJGeWhQwkCS95iFTJYK220n9HyL0Km5HF0zU9imDOuVdJN9t+VjsZ+rC287XoiJcZjazd/hWkaWV9ZAOtZBZD8zCE1ojnLmEgOprt9EwSLs7UrMwiP4GMQkkSZxJMAVBfJwqXI+FrixDybpj41pymUedLQ9pA9LQKb4C9ag7N/nSifcEMbk9hucMbpJTbGpG/GmkvuzgG3aHSNyoaEsUlF [...]
diff --git a/DISCLAIMER b/DISCLAIMER
deleted file mode 100644
index f73ab06..0000000
--- a/DISCLAIMER
+++ /dev/null
@@ -1,5 +0,0 @@
-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
deleted file mode 100644
index ba4adf3..0000000
--- a/Jenkinsfile
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-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('Test') {
-            steps {
-                sh './mvnw test -B'
-            }
-        }
-
-        stage('Publish snapshot') {
-            when {
-                branch 'master'
-            }
-            steps {
-                sh './mvnw deploy -Papache-release -Dgpg.skip=true -DskipTests --batch-mode -nsu'
-            }
-        }
-    }
-
-    post {
-        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/NOTICE b/NOTICE
deleted file mode 100644
index d2f1493..0000000
--- a/NOTICE
+++ /dev/null
@@ -1,5 +0,0 @@
-Language independent interchange formats for Apache Zipkin (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 3f3473a..a884734 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
 # Zipkin API
 
-[![Build Status](https://travis-ci.org/apache/incubator-zipkin-api.svg?branch=master)](https://travis-ci.org/apache/incubator-zipkin-api)
-
 This repo includes an [OpenAPI Spec](./zipkin-api.yaml) and [Protocol Buffers interchange format](./zipkin.proto).
 
 ## Language independent interchange format for Zipkin transports
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/package-lock.json b/package-lock.json
index 1bfb6b0..1b3e3c5 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1768,7 +1768,8 @@
         "ansi-regex": {
           "version": "2.1.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "aproba": {
           "version": "1.2.0",
@@ -1789,12 +1790,14 @@
         "balanced-match": {
           "version": "1.0.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "brace-expansion": {
           "version": "1.1.11",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "balanced-match": "^1.0.0",
             "concat-map": "0.0.1"
@@ -1809,17 +1812,20 @@
         "code-point-at": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "concat-map": {
           "version": "0.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "console-control-strings": {
           "version": "1.1.0",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -1936,7 +1942,8 @@
         "inherits": {
           "version": "2.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "ini": {
           "version": "1.3.5",
@@ -1948,6 +1955,7 @@
           "version": "1.0.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "number-is-nan": "^1.0.0"
           }
@@ -1962,6 +1970,7 @@
           "version": "3.0.4",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "brace-expansion": "^1.1.7"
           }
@@ -1969,12 +1978,14 @@
         "minimist": {
           "version": "0.0.8",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "minipass": {
           "version": "2.3.5",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "safe-buffer": "^5.1.2",
             "yallist": "^3.0.0"
@@ -1993,6 +2004,7 @@
           "version": "0.5.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -2073,7 +2085,8 @@
         "number-is-nan": {
           "version": "1.0.1",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -2085,6 +2098,7 @@
           "version": "1.4.0",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "wrappy": "1"
           }
@@ -2170,7 +2184,8 @@
         "safe-buffer": {
           "version": "5.1.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "safer-buffer": {
           "version": "2.1.2",
@@ -2206,6 +2221,7 @@
           "version": "1.0.2",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "code-point-at": "^1.0.0",
             "is-fullwidth-code-point": "^1.0.0",
@@ -2225,6 +2241,7 @@
           "version": "3.0.1",
           "bundled": true,
           "dev": true,
+          "optional": true,
           "requires": {
             "ansi-regex": "^2.0.0"
           }
@@ -2268,12 +2285,14 @@
         "wrappy": {
           "version": "1.0.2",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         },
         "yallist": {
           "version": "3.0.3",
           "bundled": true,
-          "dev": true
+          "dev": true,
+          "optional": true
         }
       }
     },
diff --git a/package.json b/package.json
index 7e0dbe4..81cec28 100644
--- a/package.json
+++ b/package.json
@@ -1,14 +1,14 @@
 {
   "name": "zipkin-api",
   "version": "0.0.0",
-  "description": "Validate Apache Zipkin (Incubating) Api",
+  "description": "Validate Zipkin Api",
   "main": "validate.js",
   "scripts": {
     "test": "jest"
   },
   "repository": {
     "type": "git",
-    "url": "git+https://github.com/apache/incubator-zipkin-api.git"
+    "url": "git+https://github.com/openzipkin/zipkin-api.git"
   },
   "keywords": [
     "zipkin",
@@ -17,9 +17,9 @@
   "author": "https://gitter.im/openzipkin/zipkin",
   "license": "Apache-2.0",
   "bugs": {
-    "url": "https://github.com/apache/incubator-zipkin-api/issues"
+    "url": "https://github.com/openzipkin/zipkin-api/issues"
   },
-  "homepage": "https://github.com/apache/incubator-zipkin-api#readme",
+  "homepage": "https://github.com/openzipkin/zipkin-api#readme",
   "devDependencies": {
     "jest": "^24.7.1",
     "js-yaml": "^3.13.1",
diff --git a/pom.xml b/pom.xml
index ad46076..4cd1e90 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,23 +1,22 @@
 <?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
+    Copyright 2018-2019 The OpenZipkin Authors
 
-        http://www.apache.org/licenses/LICENSE-2.0
+    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
 
-    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.
+    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.
 
 -->
-<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>
@@ -26,41 +25,50 @@
     <version>21</version>
   </parent>
 
-  <groupId>org.apache.zipkin.proto3</groupId>
+  <groupId>io.zipkin.proto3</groupId>
   <artifactId>zipkin-proto3</artifactId>
   <version>0.2.2-SNAPSHOT</version>
   <packaging>jar</packaging>
 
+  <name>zipkin-proto3</name>
+  <description>Language independent interchange format for Zipkin transports (Protocol Buffers v3)
+  </description>
+  <url>https://github.com/openzipkin/zipkin-api</url>
+  <inceptionYear>2018</inceptionYear>
+
   <properties>
     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
     <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
 
     <main.basedir>${project.basedir}</main.basedir>
-    <frontend-maven-plugin.version>1.7.5</frontend-maven-plugin.version>
-  </properties>
+    <frontend-maven-plugin.version>1.7.6</frontend-maven-plugin.version>
 
-  <name>zipkin-proto3</name>
-  <description>Language independent interchange format for Zipkin transports (Protocol Buffers v3)</description>
-  <url>https://github.com/openzipkin/zipkin-api</url>
-  <inceptionYear>2018</inceptionYear>
+    <license-maven-plugin.version>3.0</license-maven-plugin.version>
+    <maven-release-plugin.version>2.5.3</maven-release-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.1.0</maven-source-plugin.version>
+    <maven-javadoc-plugin.version>3.1.0</maven-javadoc-plugin.version>
+    <maven-jar-plugin.version>3.1.2</maven-jar-plugin.version>
+  </properties>
 
   <organization>
-    <name>The Apache Software Foundation</name>
-    <url>http://www.apache.org/</url>
+    <name>OpenZipkin</name>
+    <url>https://zipkin.io/</url>
   </organization>
 
   <licenses>
     <license>
       <name>The Apache Software License, Version 2.0</name>
-      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <url>https://www.apache.org/licenses/LICENSE-2.0.txt</url>
       <distribution>repo</distribution>
     </license>
   </licenses>
 
   <scm>
-    <url>https://github.com/apache/incubator-zipkin-api</url>
-    <connection>scm:git:https://github.com/apache/incubator-zipkin-api.git</connection>
-    <developerConnection>scm:git:https://github.com/apache/incubator-zipkin-api.git</developerConnection>
+    <url>https://github.com/openzipkin/zipkin-api</url>
+    <connection>scm:git:https://github.com/openzipkin/zipkin-api.git</connection>
+    <developerConnection>scm:git:https://github.com/openzipkin/zipkin-api.git</developerConnection>
     <tag>HEAD</tag>
   </scm>
 
@@ -73,35 +81,20 @@
     </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>apache.releases.https</id>
-      <url>https://repository.apache.org/service/local/staging/deploy/maven2</url>
+      <id>bintray</id>
+      <url>https://api.bintray.com/openzipkin/maven/zipkin-proto3/;publish=1</url>
     </repository>
     <snapshotRepository>
-      <id>apache.snapshots.https</id>
-      <url>https://repository.apache.org/content/repositories/snapshots/</url>
+      <id>jfrog-snapshots</id>
+      <url>https://oss.jfrog.org/artifactory/oss-snapshot-local</url>
     </snapshotRepository>
   </distributionManagement>
 
   <issueManagement>
     <system>Github</system>
-    <url>https://github.com/apache/incubator-zipkin-api/issues</url>
+    <url>https://github.com/openzipkin/zipkin-api/issues</url>
   </issueManagement>
 
   <dependencies>
@@ -123,11 +116,46 @@
         <plugin>
           <groupId>io.takari</groupId>
           <artifactId>maven</artifactId>
-          <version>0.7.5</version>
+          <version>0.7.6</version>
           <configuration>
             <maven>3.6.1</maven>
           </configuration>
         </plugin>
+
+        <plugin>
+          <artifactId>maven-install-plugin</artifactId>
+          <version>${maven-install-plugin.version}</version>
+        </plugin>
+
+        <plugin>
+          <artifactId>maven-deploy-plugin</artifactId>
+          <version>${maven-deploy-plugin.version}</version>
+        </plugin>
+
+        <plugin>
+          <artifactId>maven-jar-plugin</artifactId>
+          <version>${maven-jar-plugin.version}</version>
+        </plugin>
+
+        <plugin>
+          <groupId>io.zipkin.centralsync-maven-plugin</groupId>
+          <artifactId>centralsync-maven-plugin</artifactId>
+          <version>0.1.0</version>
+          <configuration>
+            <packageName>zipkin-proto3</packageName>
+          </configuration>
+        </plugin>
+
+        <plugin>
+          <artifactId>maven-release-plugin</artifactId>
+          <version>${maven-release-plugin.version}</version>
+          <configuration>
+            <useReleaseProfile>false</useReleaseProfile>
+            <releaseProfiles>release</releaseProfiles>
+            <!-- to match zipkin-scala (openzipkin/zipkin) -->
+            <tagNameFormat>@{project.version}</tagNameFormat>
+          </configuration>
+        </plugin>
       </plugins>
     </pluginManagement>
 
@@ -135,12 +163,13 @@
       <plugin>
         <groupId>com.mycila</groupId>
         <artifactId>license-maven-plugin</artifactId>
-        <version>3.0</version>
+        <version>${license-maven-plugin.version}</version>
         <configuration>
           <header>${main.basedir}/src/etc/header.txt</header>
           <mapping>
             <!-- Don't use javadoc style as this makes code formatters break it by adding tags! -->
-            <java>SLASHSTAR_STYLE</java>
+            <thrift>SCRIPT_STYLE</thrift>
+            <proto>DOUBLESLASH_STYLE</proto>
           </mapping>
           <excludes>
             <exclude>.travis.yml</exclude>
@@ -151,16 +180,19 @@
             <exclude>etc/header.txt</exclude>
             <exclude>**/.idea/**</exclude>
             <exclude>LICENSE</exclude>
-            <exclude>DISCLAIMER</exclude>
-            <exclude>DEPENDENCIES</exclude>
-            <exclude>NOTICE</exclude>
-            <exclude>Jenkinsfile</exclude>
             <exclude>package.json</exclude>
             <exclude>**/*.md</exclude>
             <exclude>**/node_modules/**</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>
@@ -177,7 +209,7 @@
         <version>${frontend-maven-plugin.version}</version>
         <configuration>
           <installDirectory>target</installDirectory>
-          <nodeVersion>v10.15.1</nodeVersion>
+          <nodeVersion>v10.16.0</nodeVersion>
         </configuration>
         <executions>
           <execution>
@@ -208,7 +240,7 @@
         </executions>
       </plugin>
 
-	  <plugin>
+      <plugin>
         <artifactId>maven-enforcer-plugin</artifactId>
         <version>3.0.0-M2</version>
         <executions>
@@ -227,95 +259,42 @@
           </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>**/dependency-reduced-pom.xml</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>
-
-            <!-- NPM files -->
-            <exclude>**/package.json</exclude>
-            <exclude>**/package-lock.json</exclude>
-            <exclude>**/node_modules/**</exclude>
-
-            <!-- Maven Wrapper generated files -->
-            <exclude>.mvn/wrapper/maven-wrapper.properties</exclude>
-          </excludes>
-        </configuration>
-        <executions>
-          <execution>
-            <phase>verify</phase>
-            <goals>
-              <goal>check</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
     </plugins>
   </build>
 
   <profiles>
     <profile>
-      <id>apache-release</id>
+      <!-- Maven central has a few requirements this profile ensures are met -->
+      <id>release</id>
       <build>
         <plugins>
-          <!-- Creates empty javadoc jar -->
+          <!-- Creates source jar; This works even when there are no java sources -->
           <plugin>
-            <groupId>org.apache.maven.plugins</groupId>
-            <artifactId>maven-jar-plugin</artifactId>
+            <artifactId>maven-source-plugin</artifactId>
+            <version>${maven-source-plugin.version}</version>
             <executions>
               <execution>
-                <id>empty-javadoc-jar</id>
-                <phase>package</phase>
+                <id>attach-sources</id>
                 <goals>
                   <goal>jar</goal>
                 </goals>
-                <configuration>
-                  <classifier>javadoc</classifier>
-                  <classesDirectory>${basedir}/javadoc</classesDirectory>
-                </configuration>
               </execution>
             </executions>
           </plugin>
 
+          <!-- Creates empty javadoc jar -->
           <plugin>
-            <artifactId>maven-assembly-plugin</artifactId>
+            <artifactId>maven-jar-plugin</artifactId>
             <executions>
               <execution>
-                <id>source-release-assembly</id>
+                <id>empty-javadoc-jar</id>
+                <phase>package</phase>
+                <goals>
+                  <goal>jar</goal>
+                </goals>
                 <configuration>
-                  <!-- make the source release zip includes the word incubating -->
-                  <finalName>apache-zipkin-api-incubating-${project.version}</finalName>
-                  <descriptors>
-                    <descriptor>src/main/assemblies/source-release.xml</descriptor>
-                  </descriptors>
-                  <!-- don't inherit the source-release as we are overriding it -->
-                  <descriptorRefs combine.self="override" />
+                  <classifier>javadoc</classifier>
+                  <classesDirectory>${basedir}/javadoc</classesDirectory>
                 </configuration>
               </execution>
             </executions>
diff --git a/src/etc/header.txt b/src/etc/header.txt
index b78fe3b..6dba3bd 100644
--- a/src/etc/header.txt
+++ b/src/etc/header.txt
@@ -1,15 +1,11 @@
-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
+Copyright ${license.git.copyrightYears} The OpenZipkin Authors
 
-    http://www.apache.org/licenses/LICENSE-2.0
+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
 
-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.
+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.
diff --git a/src/main/assemblies/source-release.xml b/src/main/assemblies/source-release.xml
deleted file mode 100644
index 725d5d2..0000000
--- a/src/main/assemblies/source-release.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<?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>
-  <baseDirectory>zipkin-api-${version}</baseDirectory>
-  <formats>
-    <format>zip</format>
-  </formats>
-
-  <fileSets>
-    <!-- Only includes IDL files as nothing is built here -->
-    <fileSet>
-      <directory>.</directory>
-      <outputDirectory/>
-      <includes>
-        <include>LICENSE</include>
-        <include>DISCLAIMER</include>
-        <include>NOTICE</include>
-        <include>README.md</include>
-        <include>thrift/*.thrift</include>
-        <include>*.proto</include>
-        <include>*.yaml</include>
-      </includes>
-    </fileSet>
-  </fileSets>
-</assembly>
diff --git a/thrift/zipkinCore.thrift b/thrift/zipkinCore.thrift
index da35e7e..1ea1a0d 100644
--- a/thrift/zipkinCore.thrift
+++ b/thrift/zipkinCore.thrift
@@ -1,19 +1,17 @@
 #
-# 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
+# Copyright 2018-2019 The OpenZipkin Authors
 #
-#     http://www.apache.org/licenses/LICENSE-2.0
+# 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
 #
-# 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.
+# 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.
+#
+
 namespace java com.twitter.zipkin.thriftjava
 #@namespace scala com.twitter.zipkin.thriftscala
 namespace rb Zipkin
diff --git a/thrift/zipkinDependencies.thrift b/thrift/zipkinDependencies.thrift
index ea846a3..5b616c6 100644
--- a/thrift/zipkinDependencies.thrift
+++ b/thrift/zipkinDependencies.thrift
@@ -1,19 +1,17 @@
 #
-# 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
+# Copyright 2018-2019 The OpenZipkin Authors
 #
-#     http://www.apache.org/licenses/LICENSE-2.0
+# 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
 #
-# 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.
+# 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.
+#
+
 namespace java com.twitter.zipkin.thriftjava
 #@namespace scala com.twitter.zipkin.thriftscala
 namespace rb Zipkin
diff --git a/travis/publish.sh b/travis/publish.sh
new file mode 100755
index 0000000..e586bd5
--- /dev/null
+++ b/travis/publish.sh
@@ -0,0 +1,138 @@
+#!/usr/bin/env bash
+#
+# Copyright 2018-2019 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
+}
+
+print_project_version() {
+  ./mvnw help:evaluate -N -Dexpression=project.version|sed -n '/^[0-9]/p'
+}
+
+is_release_commit() {
+  project_version="$(print_project_version)"
+  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
+
+# skip license on travis due to #1512
+./mvnw install -nsu -Dlicense.skip=true
+
+# 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 --batch-mode -s ./.settings.xml -Prelease -nsu -DskipTests 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 --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
+  # skip license on travis due to #1512
+  ./mvnw --batch-mode -s ./.settings.xml -Prelease -nsu -DreleaseVersion="$(release_version)" -Darguments="-DskipTests -Dlicense.skip=true" release:prepare
+fi
diff --git a/validate.test.js b/validate.test.js
index 24649da..a090b86 100644
--- a/validate.test.js
+++ b/validate.test.js
@@ -1,18 +1,15 @@
 /*
- * 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
+ * Copyright 2018-2019 The OpenZipkin Authors
  *
- *     http://www.apache.org/licenses/LICENSE-2.0
+ * 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
  *
- * 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.
+ * 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.
  */
 describe('Zipkin Http Api', () => {
   const Sway = require('sway');
diff --git a/zipkin-api.yaml b/zipkin-api.yaml
index 2f4a190..1e77785 100644
--- a/zipkin-api.yaml
+++ b/zipkin-api.yaml
@@ -1,18 +1,15 @@
 #
-# 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
+# Copyright 2018-2019 The OpenZipkin Authors
 #
-#     http://www.apache.org/licenses/LICENSE-2.0
+# 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
 #
-# 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.
+# 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.
 #
 
 swagger: "2.0"
diff --git a/zipkin.proto b/zipkin.proto
index 9e65112..d112207 100644
--- a/zipkin.proto
+++ b/zipkin.proto
@@ -1,21 +1,17 @@
 //
-// 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
+// Copyright 2018-2019 The OpenZipkin Authors
 //
-//   http://www.apache.org/licenses/LICENSE-2.0
+// 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
 //
-// 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.
+// 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.
+//
+
 syntax = "proto3";
 
 package zipkin.proto3;
diff --git a/zipkin2-api.yaml b/zipkin2-api.yaml
index f439a53..443f074 100644
--- a/zipkin2-api.yaml
+++ b/zipkin2-api.yaml
@@ -1,18 +1,15 @@
 #
-# 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
+# Copyright 2018-2019 The OpenZipkin Authors
 #
-#     http://www.apache.org/licenses/LICENSE-2.0
+# 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
 #
-# 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.
+# 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.
 #
 
 swagger: "2.0"