You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gobblin.apache.org by le...@apache.org on 2020/05/29 23:26:44 UTC

[incubator-gobblin] branch master updated: [Gobblin 1169][GOBBLIN-1169][GOBBLIN-1167][GOBBLIN-1163][GOBBLIN-1159] Undo Reverted code for ELR + new changes

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

lesun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-gobblin.git


The following commit(s) were added to refs/heads/master by this push:
     new 5721613  [Gobblin 1169][GOBBLIN-1169][GOBBLIN-1167][GOBBLIN-1163][GOBBLIN-1159] Undo Reverted code for ELR + new changes
5721613 is described below

commit 5721613d437d1e225e06e0ca3a053a0140f63e7d
Author: vbohra <vb...@linkedin.com>
AuthorDate: Fri May 29 16:26:35 2020 -0700

    [Gobblin 1169][GOBBLIN-1169][GOBBLIN-1167][GOBBLIN-1163][GOBBLIN-1159] Undo Reverted code for ELR + new changes
    
    Closes #3012 from vikrambohra/GOBBLIN-1169
---
 .travis.yml                                        |  30 ++++--
 build.gradle                                       |   8 ++
 gobblin-binary-management/build.gradle             |   6 +-
 gobblin-cluster/build.gradle                       |  15 ++-
 gobblin-compaction/build.gradle                    |  27 ++---
 gobblin-core/build.gradle                          |   2 +-
 gobblin-example/build.gradle                       |   4 +-
 gobblin-metastore/build.gradle                     |   2 +-
 .../gobblin-azure-datalake/build.gradle            |   2 +-
 gobblin-modules/gobblin-kafka-08/build.gradle      |   8 +-
 gobblin-modules/gobblin-kafka-09/build.gradle      |   8 +-
 gobblin-modules/gobblin-orc-dep/build.gradle       |  22 +++-
 gobblin-rest-service/gobblin-rest-api/build.gradle |  19 ++++
 gobblin-restli/api.gradle                          |  24 +++++
 gobblin-tunnel/build.gradle                        |   2 +-
 gobblin-utility/build.gradle                       |   6 +-
 gradle.properties                                  |   1 +
 gradle/scripts/bintrayPublishing.gradle            | 118 +++++++++++++++++++++
 gradle/scripts/mavenPublishing.gradle              |  68 ------------
 gradle/scripts/nexusPublishing.gradle              |  68 ------------
 gradle.properties => travis/bintrayDeploy.sh       |  34 +++---
 21 files changed, 277 insertions(+), 197 deletions(-)

diff --git a/.travis.yml b/.travis.yml
index d742b91..4473698 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -24,27 +24,37 @@ services:
   - xvfb
   - mysql
 
+stages:
+  - test
+  - name: deploy
+    if: branch = master
+
 before_script:
   - mysql -uroot -e "create user testUser identified by 'testPassword';"
-
 script:
   - ./travis/test.sh
   - ./gradlew jacocoTestReport
-
 after_success:
   - bash <(cat .codecov_bash)
 after_failure: ./travis/junit-errors-to-stdout.sh
 
-
+jobs:
+  include:
+    - stage: deploy
+      env: RUN_TEST_GROUP=none
+      install: skip
+      script:
+        - ./travis/bintrayDeploy.sh
 
 env:
-  - RUN_TEST_GROUP=build
-  - RUN_TEST_GROUP=default
-  - RUN_TEST_GROUP=group1
-  - RUN_TEST_GROUP=coverage
+  jobs:
+    - RUN_TEST_GROUP=build
+    - RUN_TEST_GROUP=default
+    - RUN_TEST_GROUP=group1
+    - RUN_TEST_GROUP=coverage
+  global:
+    - secure: U72nmzXq7kXcIabiwvrTF+WkNFQxov2ACd8oPxWSHsyzRsfVJN42vT7gS3dLbH5G5claXG2p+rur4ueVffzYSwJ8B9OP6gTB8sNJnGr9zyxni4OJchyKqOYuj+UBpEQC/7qXKMCKnuJndsf1OvndDh/V1SH0DSSUuA6mDtgO/eM=
+    - secure: WiK7tyFV68xdkIfUlWreUHgEGGjaCBd73O4SbjE9AsbqqF7D+Iu8iRo1OhKQj+6eajUH9Eoev9rVN74FQgUfeNzrOkYsgDysXmyZ7+UxFokijFcATJmIBompA3dySGU2qXeKbJMNuUjXgrRIludaV6h2ahL6Fji42cgK4I3s2qs=
 
 jdk:
   - openjdk8
-
-matrix:
-  exclude:
diff --git a/build.gradle b/build.gradle
index 74eec27..f7cc8a2 100644
--- a/build.gradle
+++ b/build.gradle
@@ -42,6 +42,7 @@ buildscript {
   }
   dependencies {
     classpath "gradle.plugin.nl.javadude.gradle.plugins:license-gradle-plugin:0.14.0"
+    classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.+'
   }
 }
 
@@ -131,6 +132,7 @@ apply from: 'gradle/scripts/sourcesJar.gradle'
 
 apply from: 'gradle/scripts/mavenPublishing.gradle'
 apply from: 'gradle/scripts/nexusPublishing.gradle'
+apply from: 'gradle/scripts/bintrayPublishing.gradle'
 apply from: 'gradle/scripts/javaVersionCheck.gradle'
 
 apply from: 'gradle/scripts/rat.gradle'
@@ -151,6 +153,12 @@ allprojects {
   }
 }
 
+task printVersionName {
+  doLast {
+    println project.version
+  }
+}
+
 rat {
   excludes = [
     '**/.git/**',
diff --git a/gobblin-binary-management/build.gradle b/gobblin-binary-management/build.gradle
index be482cd..ee8dd9d 100644
--- a/gobblin-binary-management/build.gradle
+++ b/gobblin-binary-management/build.gradle
@@ -25,9 +25,9 @@ dependencies {
   compile externalDependency.avroMapredH2
   compile externalDependency.guava
   compile externalDependency.hadoopHdfs
-  runtime externalDependency.hadoopCommon
-  runtime externalDependency.hadoopClientCore
-  runtime externalDependency.hadoopAuth
+  runtimeOnly externalDependency.hadoopCommon
+  runtimeOnly externalDependency.hadoopClientCore
+  runtimeOnly externalDependency.hadoopAuth
   compile externalDependency.hiveMetastore
   compile externalDependency.hiveExec
   compile externalDependency.lombok
diff --git a/gobblin-cluster/build.gradle b/gobblin-cluster/build.gradle
index e52854d..2c8d697 100644
--- a/gobblin-cluster/build.gradle
+++ b/gobblin-cluster/build.gradle
@@ -50,7 +50,7 @@ dependencies {
   compile externalDependency.findBugsAnnotations
   compile externalDependency.helix
 
-  runtime project(":gobblin-modules:gobblin-service-kafka")
+  runtimeOnly project(":gobblin-modules:gobblin-service-kafka")
 
   testCompile project(":gobblin-example")
 
@@ -71,6 +71,7 @@ configurations {
 
 artifacts {
   tests testJar
+  archives testJar
 }
 
 configurations {
@@ -85,6 +86,18 @@ configurations {
   }
 }
 
+project.publishing {
+  publications {
+    testsPub(MavenPublication) {
+      artifactId "test-${project.archivesBaseName}"
+      artifacts = [testJar]
+      pom pomAttributes
+      pom.withXml addRuntimeDependenciesToPom
+    }
+  }
+}
+addPublicationToBintray("testsPub")
+
 test {
   workingDir rootProject.rootDir
   maxParallelForks = 1
diff --git a/gobblin-compaction/build.gradle b/gobblin-compaction/build.gradle
index 7f8a450..846f788 100644
--- a/gobblin-compaction/build.gradle
+++ b/gobblin-compaction/build.gradle
@@ -31,10 +31,11 @@ dependencies {
   // with hive-exec-core in older version(1.0.1), we need to shadow ord-mapreduce's transitive deps.
   // and include direct orc-mapreduce library just as a compileOnly dependency
   compileOnly externalDependency.orcMapreduce
+  testCompileOnly externalDependency.orcMapreduce
   compile project(path: ":gobblin-modules:gobblin-orc-dep", configuration:"shadow")
 
   compile externalDependency.calciteCore
-  compile externalDependency.calciteAvatica
+  testCompile externalDependency.calciteAvatica
   compile externalDependency.jhyde
   compile externalDependency.avro
   compile externalDependency.commonsLang
@@ -42,21 +43,21 @@ dependencies {
   compile externalDependency.mockito
   compile externalDependency.testng
 
-  runtime externalDependency.hadoopCommon
-  runtime externalDependency.hadoopClientCore
-  runtime externalDependency.hadoopHdfs
-  runtime externalDependency.hadoopAuth
+  runtimeOnly externalDependency.hadoopCommon
+  runtimeOnly externalDependency.hadoopClientCore
+  runtimeOnly externalDependency.hadoopHdfs
+  runtimeOnly externalDependency.hadoopAuth
 
-  runtime(externalDependency.hiveService) {
+  runtimeOnly(externalDependency.hiveService) {
     exclude group: 'org.apache.hive', module: 'hive-exec'
   }
-  runtime externalDependency.hiveJdbc
-  runtime externalDependency.hiveMetastore
-  runtime externalDependency.antlrRuntime
-  runtime externalDependency.derby
-  runtime externalDependency.jdo2
-  runtime externalDependency.datanucleusCore
-  runtime externalDependency.datanucleusRdbms
+  runtimeOnly externalDependency.hiveJdbc
+  runtimeOnly externalDependency.hiveMetastore
+  runtimeOnly externalDependency.antlrRuntime
+  runtimeOnly externalDependency.derby
+  runtimeOnly externalDependency.jdo2
+  runtimeOnly externalDependency.datanucleusCore
+  runtimeOnly externalDependency.datanucleusRdbms
 
   testCompile externalDependency.testng
 }
diff --git a/gobblin-core/build.gradle b/gobblin-core/build.gradle
index d0b9a9b..9beee22 100644
--- a/gobblin-core/build.gradle
+++ b/gobblin-core/build.gradle
@@ -58,7 +58,7 @@ dependencies {
   compile externalDependency.opencsv
   compile externalDependency.hadoopHdfs
 
-  runtime externalDependency.protobuf
+  runtimeOnly externalDependency.protobuf
 
   testRuntime externalDependency.hadoopAws
   testCompile externalDependency.calciteCore
diff --git a/gobblin-example/build.gradle b/gobblin-example/build.gradle
index 441ea8e..f779126 100644
--- a/gobblin-example/build.gradle
+++ b/gobblin-example/build.gradle
@@ -22,8 +22,8 @@ dependencies {
     compile project(":gobblin-core")
     compile project(":gobblin-runtime")
     compile project(":gobblin-data-management")
-    runtime project(":gobblin-modules:gobblin-kafka-08")
-    runtime project(":gobblin-modules:gobblin-eventhub")
+    runtimeOnly project(":gobblin-modules:gobblin-kafka-08")
+    runtimeOnly project(":gobblin-modules:gobblin-eventhub")
     compile project(":gobblin-modules:gobblin-http")
     compile project(":gobblin-modules:gobblin-parquet")
     compile externalDependency.avro
diff --git a/gobblin-metastore/build.gradle b/gobblin-metastore/build.gradle
index a78df44..64850a1 100644
--- a/gobblin-metastore/build.gradle
+++ b/gobblin-metastore/build.gradle
@@ -37,7 +37,7 @@ dependencies {
     compile externalDependency.lombok
     compile externalDependency.reflections
 
-    runtime externalDependency.mysqlConnector
+    runtimeOnly externalDependency.mysqlConnector
 
     testCompile externalDependency.testng
     testCompile externalDependency.embeddedProcess
diff --git a/gobblin-modules/gobblin-azure-datalake/build.gradle b/gobblin-modules/gobblin-azure-datalake/build.gradle
index 5eab394..9d44004 100644
--- a/gobblin-modules/gobblin-azure-datalake/build.gradle
+++ b/gobblin-modules/gobblin-azure-datalake/build.gradle
@@ -18,7 +18,7 @@
 apply plugin: 'java'
 
 dependencies {
-    runtime externalDependency.hadoopAdl
+    runtimeOnly externalDependency.hadoopAdl
 }
 
 configurations {
diff --git a/gobblin-modules/gobblin-kafka-08/build.gradle b/gobblin-modules/gobblin-kafka-08/build.gradle
index 49c44a5..78a2a39 100644
--- a/gobblin-modules/gobblin-kafka-08/build.gradle
+++ b/gobblin-modules/gobblin-kafka-08/build.gradle
@@ -50,10 +50,10 @@ dependencies {
   compile externalDependency.typesafeConfig
   compile externalDependency.findBugsAnnotations
 
-  runtime externalDependency.confluentAvroSerializer
-  runtime externalDependency.confluentJsonSerializer
-  runtime externalDependency.confluentSchemaRegistryClient
-  runtime externalDependency.protobuf
+  runtimeOnly externalDependency.confluentAvroSerializer
+  runtimeOnly externalDependency.confluentJsonSerializer
+  runtimeOnly externalDependency.confluentSchemaRegistryClient
+  runtimeOnly externalDependency.protobuf
 
   testCompile project(":gobblin-modules:gobblin-service-kafka")
   testCompile project(":gobblin-runtime")
diff --git a/gobblin-modules/gobblin-kafka-09/build.gradle b/gobblin-modules/gobblin-kafka-09/build.gradle
index b33eb55..44a8bd2 100644
--- a/gobblin-modules/gobblin-kafka-09/build.gradle
+++ b/gobblin-modules/gobblin-kafka-09/build.gradle
@@ -45,10 +45,10 @@ dependencies {
   compile externalDependency.typesafeConfig
   compile externalDependency.findBugsAnnotations
 
-  runtime externalDependency.confluentAvroSerializer
-  runtime externalDependency.confluentJsonSerializer
-  runtime externalDependency.confluentSchemaRegistryClient
-  runtime externalDependency.protobuf
+  runtimeOnly externalDependency.confluentAvroSerializer
+  runtimeOnly externalDependency.confluentJsonSerializer
+  runtimeOnly externalDependency.confluentSchemaRegistryClient
+  runtimeOnly externalDependency.protobuf
 
   testCompile project(":gobblin-service")
   testCompile project(":gobblin-modules:gobblin-service-kafka")
diff --git a/gobblin-modules/gobblin-orc-dep/build.gradle b/gobblin-modules/gobblin-orc-dep/build.gradle
index 6120649..5fb43eb 100644
--- a/gobblin-modules/gobblin-orc-dep/build.gradle
+++ b/gobblin-modules/gobblin-orc-dep/build.gradle
@@ -49,9 +49,12 @@ configurations {
     exclude group: "org.apache.hadoop"
   }
 }
-
+// changed classifier of shadow Jar to ""
+// to make it the main jar since shadow jar is only used
+// This will override the main jar on ./gradlew build
 shadowJar {
   zip64 true
+  classifier ""
 
   dependencies {
     exclude dependency('org.slf4j:.*')
@@ -62,4 +65,21 @@ shadowJar {
   relocate 'com.google', 'shadow.gobblin.orc.com.google'
 }
 
+// assigning a differnet classifer to the main jar
+// so that it does not override the shadow jar
+jar {
+  classifier "thin"
+}
+
+publishing {
+  publications {
+    shadowPub(MavenPublication) {
+      artifacts = [shadowJar]
+      pom pomAttributes
+      pom.withXml addRuntimeDependenciesToPom
+    }
+  }
+}
+project.bintray.publications = ["shadowPub"]
+
 ext.classification="library"
diff --git a/gobblin-rest-service/gobblin-rest-api/build.gradle b/gobblin-rest-service/gobblin-rest-api/build.gradle
index 6745aa3..5318611 100644
--- a/gobblin-rest-service/gobblin-rest-api/build.gradle
+++ b/gobblin-rest-service/gobblin-rest-api/build.gradle
@@ -112,6 +112,25 @@ artifacts {
     archives dataTemplateSourcesJar, dataTemplateJavadocJar, restClientSourcesJar, restClientJavadocJar
 }
 
+publishing {
+  publications {
+    dataTemplate(MavenPublication) {
+      artifactId dataTemplateName
+      artifacts = [mainDataTemplateJar, dataTemplateSourcesJar, dataTemplateJavadocJar]
+      pom pomAttributes
+      pom.withXml addRuntimeDependenciesToPom
+    }
+    restClient(MavenPublication) {
+      artifactId restClientName
+      artifacts = [mainRestClientJar, restClientSourcesJar, restClientJavadocJar]
+      pom pomAttributes
+      pom.withXml addRuntimeDependenciesToPom
+    }
+  }
+}
+addPublicationToBintray("dataTemplate")
+addPublicationToBintray("restClient")
+
 buildscript {
     repositories {
         mavenCentral()
diff --git a/gobblin-restli/api.gradle b/gobblin-restli/api.gradle
index 688dae8..f1b5ab4 100644
--- a/gobblin-restli/api.gradle
+++ b/gobblin-restli/api.gradle
@@ -94,6 +94,18 @@ if (file("${project.projectDir}/src/main/idl").exists()) {
   artifacts {
     archives mainRestClientJar, restClientSourcesJar, restClientJavadocJar
   }
+
+  publishing {
+    publications {
+      restClient(MavenPublication) {
+        artifactId restClientName
+        artifacts = [mainRestClientJar, restClientSourcesJar, restClientJavadocJar]
+        pom pomAttributes
+        pom.withXml addRuntimeDependenciesToPom
+      }
+    }
+  }
+  addPublicationToBintray("restClient")
 }
 
 install {
@@ -123,3 +135,15 @@ if (rootProject.ext.publishToMaven || rootProject.ext.publishToNexus) {
     }
   }
 }
+
+publishing {
+  publications {
+    dataTemplate(MavenPublication) {
+      artifactId dataTemplateName
+      artifacts = [mainDataTemplateJar, dataTemplateSourcesJar, dataTemplateJavadocJar]
+      pom pomAttributes
+      pom.withXml addRuntimeDependenciesToPom
+    }
+  }
+}
+addPublicationToBintray("dataTemplate")
diff --git a/gobblin-tunnel/build.gradle b/gobblin-tunnel/build.gradle
index 647aae6..4577011 100644
--- a/gobblin-tunnel/build.gradle
+++ b/gobblin-tunnel/build.gradle
@@ -23,7 +23,7 @@ dependencies {
 
   compile externalDependency.slf4j
 
-  runtime externalDependency.mysqlConnector
+  runtimeOnly externalDependency.mysqlConnector
 
   testCompile externalDependency.mockserver
   testCompile externalDependency.testng
diff --git a/gobblin-utility/build.gradle b/gobblin-utility/build.gradle
index 485641b..a8588a9 100644
--- a/gobblin-utility/build.gradle
+++ b/gobblin-utility/build.gradle
@@ -48,9 +48,9 @@ dependencies {
   compile externalDependency.hadoopHdfs
   compile externalDependency.groovy
 
-  runtime externalDependency.hadoopCommon
-  runtime externalDependency.hadoopClientCore
-  runtime externalDependency.hadoopAuth
+  runtimeOnly externalDependency.hadoopCommon
+  runtimeOnly externalDependency.hadoopClientCore
+  runtimeOnly externalDependency.hadoopAuth
 
   testCompile externalDependency.hamcrest
   testCompile externalDependency.testng
diff --git a/gradle.properties b/gradle.properties
index 119e1cf..5a421d9 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -35,3 +35,4 @@ version=0.15.0
 group=org.apache.gobblin
 release=false
 
+org.gradle.jvmargs=-Xms512m -Xmx4096m
\ No newline at end of file
diff --git a/gradle/scripts/bintrayPublishing.gradle b/gradle/scripts/bintrayPublishing.gradle
new file mode 100644
index 0000000..433829c
--- /dev/null
+++ b/gradle/scripts/bintrayPublishing.gradle
@@ -0,0 +1,118 @@
+/*
+ * 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.
+ */
+
+import org.gradle.api.internal.java.JavaLibrary
+
+ext.pomAttributes = {
+  packaging = 'jar'
+  // optionally artifactId can be defined here
+  name = 'Apache Gobblin (incubating)'
+  description = 'A distributed data integration framework for streaming and batch data ecosystems.'
+  url = 'https://gobblin.apache.org/'
+
+  scm {
+    url = 'https://git-wip-us.apache.org/repos/asf?p=incubator-gobblin.git;a=tree'
+    connection = 'scm:http://git-wip-us.apache.org/repos/asf/incubator-gobblin.git'
+    developerConnection = 'scm:https://git-wip-us.apache.org/repos/asf/incubator-gobblin.git'
+  }
+
+  licenses {
+    license {
+      name = 'The Apache License, Version 2.0'
+      url = 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+    }
+  }
+}
+
+subprojects{
+  plugins.withType(JavaPlugin) {
+    plugins.apply('maven-publish')
+    publishing {
+      publications {
+        mavenJava(MavenPublication) {
+          from components.java
+          artifact sourcesJar
+          artifact javadocJar
+
+          pom pomAttributes
+        }
+      }
+    }
+  }
+
+  plugins.apply('com.jfrog.bintray')
+  bintray {
+    user = project.hasProperty('bintrayUser') ? project.property('bintrayUser') : System.getenv('BINTRAY_USER')
+    key = project.hasProperty('bintrayApiKey') ? project.property('bintrayApiKey') : System.getenv('BINTRAY_API_KEY')
+    publications = ["mavenJava"]
+    publish = true
+    dryRun = project.hasProperty("bintray.dryRun")
+    pkg {
+      repo = 'maven'
+      name = 'gobblin-github'
+      userOrg = 'linkedin'
+      licenses = ['Apache-2.0']
+      vcsUrl = 'https://github.com/apache/incubator-gobblin.git'
+      version {
+        name = project.version
+        desc = 'Apache Gobblin'
+        released = new Date()
+        // disable gpg signing to speed up publishing
+        gpg {
+          sign = false
+        }
+        // disable upload to maven central
+        mavenCentralSync {
+          sync = false
+        }
+      }
+    }
+  }
+
+  tasks.bintrayUpload {
+    doFirst {
+      println "Running bintrayUpload for $project.name, publications: $project.bintray.publications"
+    }
+    dependsOn publishToMavenLocal
+  }
+
+  ext.addPublicationToBintray = { pubName ->
+    project.bintray.publications += pubName
+  }
+
+  ext.addRuntimeDependenciesToPom = {
+    def dependenciesNode = asNode().appendNode('dependencies')
+    configurations.runtime.allDependencies.each {
+      if (it.group != null && it.name != null) {
+        def dependencyNode = dependenciesNode.appendNode('dependency')
+        dependencyNode.appendNode('groupId', it.group)
+        dependencyNode.appendNode('artifactId', it.name)
+        dependencyNode.appendNode('version', it.version)
+
+        if (it.excludeRules.size() > 0) {
+          def exclusionsNode = dependencyNode.appendNode('exclusions')
+          it.excludeRules.each { rule ->
+            def exclusionNode = exclusionsNode.appendNode('exclusion')
+            exclusionNode.appendNode('groupId', rule.group)
+            exclusionNode.appendNode('artifactId', rule.module)
+          }
+        }
+      }
+    }
+  }
+
+}
\ No newline at end of file
diff --git a/gradle/scripts/mavenPublishing.gradle b/gradle/scripts/mavenPublishing.gradle
index 799464c..9a72c8c 100644
--- a/gradle/scripts/mavenPublishing.gradle
+++ b/gradle/scripts/mavenPublishing.gradle
@@ -64,74 +64,6 @@ gradle.taskGraph.afterTask {
   }
 }
 
-ext.pomAttributes = {
-  packaging 'jar'
-  // optionally artifactId can be defined here
-  name 'Apache Gobblin (incubating)'
-  description 'A distributed data integration framework for streaming and batch data ecosystems.'
-  url 'https://gobblin.apache.org/'
-
-  scm {
-    url 'https://git-wip-us.apache.org/repos/asf?p=incubator-gobblin.git;a=tree'
-    connection 'scm:http://git-wip-us.apache.org/repos/asf/incubator-gobblin.git'
-    developerConnection 'scm:https://git-wip-us.apache.org/repos/asf/incubator-gobblin.git'
-  }
-
-  licenses {
-    license {
-      name 'The Apache License, Version 2.0'
-      url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
-    }
-  }
-
-  developers {
-    developer {
-      name 'Abhishek Tiwari'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Chavdar Botev'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Issac Buenrostro'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Min Tu'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Narasimha Veeramreddy'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Pradhan Cadabam'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Sahil Takiar'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Shirshanka Das'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Yinan Li'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Ying Dai'
-      organization 'LinkedIn'
-    }
-    developer {
-      name 'Ziyang Liu'
-      organization 'LinkedIn'
-    }
-  }
-}
-
 subprojects {
   plugins.withType(JavaPlugin) {
     plugins.apply('maven')
diff --git a/gradle/scripts/nexusPublishing.gradle b/gradle/scripts/nexusPublishing.gradle
index 86d89b3..7fa8e95 100644
--- a/gradle/scripts/nexusPublishing.gradle
+++ b/gradle/scripts/nexusPublishing.gradle
@@ -64,74 +64,6 @@ gradle.taskGraph.afterTask {
     }
 }
 
-ext.pomAttributes = {
-    packaging 'jar'
-    // optionally artifactId can be defined here
-    name 'Apache Gobblin (incubating)'
-    description 'A distributed data integration framework for streaming and batch data ecosystems.'
-    url 'https://gobblin.apache.org/'
-
-    scm {
-        url 'https://git-wip-us.apache.org/repos/asf?p=incubator-gobblin.git;a=tree'
-        connection 'scm:http://git-wip-us.apache.org/repos/asf/incubator-gobblin.git'
-        developerConnection 'scm:https://git-wip-us.apache.org/repos/asf/incubator-gobblin.git'
-    }
-
-    licenses {
-        license {
-            name 'The Apache License, Version 2.0'
-            url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
-        }
-    }
-
-    developers {
-        developer {
-            name 'Abhishek Tiwari'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Chavdar Botev'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Issac Buenrostro'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Min Tu'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Narasimha Veeramreddy'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Pradhan Cadabam'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Sahil Takiar'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Shirshanka Das'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Yinan Li'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Ying Dai'
-            organization 'LinkedIn'
-        }
-        developer {
-            name 'Ziyang Liu'
-            organization 'LinkedIn'
-        }
-    }
-}
-
 subprojects {
     plugins.withType(JavaPlugin) {
         plugins.apply('maven')
diff --git a/gradle.properties b/travis/bintrayDeploy.sh
old mode 100644
new mode 100755
similarity index 54%
copy from gradle.properties
copy to travis/bintrayDeploy.sh
index 119e1cf..1036e61
--- a/gradle.properties
+++ b/travis/bintrayDeploy.sh
@@ -15,23 +15,25 @@
 # limitations under the License.
 #
 
-# Long-running Gradle process speeds up local builds
-# To stop the daemon run 'ligradle --stop'
-org.gradle.daemon=true
-
-# Configures only relevant projects to speed up the configuration of large projects
-# Useful when specific project/task is invoked
-org.gradle.configureondemand=true
+#
+# Test script used by Travis to test the
+# hadoop1 or hadoop2 versions of gobblin.
+#
 
-# Gradle will run tasks from subprojects in parallel
-# Higher CPU usage, faster builds
-org.gradle.parallel=true
+#!/bin/bash
+set -e
 
-# Allows generation of idea/eclipse metadata for a specific subproject and its upstream project dependencies
-ide.recursive=true
+echo "Starting $0 at " $(date)
+PROJECT_VERSION=$(./gradlew properties -q | grep "version:" | awk '{print $2}')
 
-# Apache release specific
-version=0.15.0
-group=org.apache.gobblin
-release=false
+echo "Project Version: $PROJECT_VERSION"
+BUILD_VERSION=$PROJECT_VERSION-dev-${TRAVIS_BUILD_NUMBER}
+echo "Build Version: $BUILD_VERSION"
 
+echo "Pull request: [$TRAVIS_PULL_REQUEST], Travis branch: [$TRAVIS_BRANCH]"
+# release only from master when no pull request build
+if [ "$TRAVIS_PULL_REQUEST" = "false" ]
+then
+    echo "Uploading artifacts to bintray for version $BUILD_VERSION"
+    ./gradlew -i bintrayUpload -Pversion=$BUILD_VERSION
+fi
\ No newline at end of file