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 <vbo...@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