| // Copyright (C) 2014-2016 LinkedIn Corp. All rights reserved. |
| // |
| // 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. |
| |
| apply plugin: 'java' |
| |
| dependencies { |
| compile project(":gobblin-api") |
| compile project(":gobblin-core") |
| compile project(":gobblin-hive-registration") |
| compile project(":gobblin-metrics") |
| compile project(":gobblin-metastore") |
| compile project(":gobblin-utility") |
| compile project(path: ':gobblin-rest-service:gobblin-rest-api', configuration: 'restClient') |
| compile project(path: ':gobblin-rest-service:gobblin-rest-api', configuration: 'dataTemplate', classifier: 'data-template') |
| |
| compile externalDependency.avro |
| compile externalDependency.commonsConfiguration |
| compile externalDependency.quartz |
| compile externalDependency.guava |
| compile externalDependency.jacksonCore |
| compile externalDependency.jacksonMapper |
| compile externalDependency.jodaTime |
| compile externalDependency.httpclient |
| compile externalDependency.httpcore |
| compile externalDependency.commonsLang |
| compile externalDependency.commonsLang3 |
| compile externalDependency.log4j |
| compile externalDependency.slf4j |
| compile externalDependency.commonsCli |
| compile externalDependency.gson |
| compile externalDependency.metricsCore |
| compile externalDependency.commonsIo |
| compile externalDependency.commonsEmail |
| compile externalDependency.pegasus.data |
| compile externalDependency.guice |
| compile externalDependency.javaxInject |
| compile externalDependency.lombok |
| if (project.hasProperty('useHadoop2')) { |
| compile externalDependency.avroMapredH2 |
| } else { |
| compile externalDependency.avroMapredH1 |
| } |
| compile externalDependency.findBugsAnnotations |
| |
| testCompile externalDependency.calciteCore |
| testCompile externalDependency.calciteAvatica |
| testCompile externalDependency.jhyde |
| testCompile externalDependency.testng |
| testCompile externalDependency.byteman |
| testCompile externalDependency.bytemanBmunit |
| testRuntime externalDependency.derby |
| } |
| |
| // Begin HACK to get around POM being depenendent on the (empty) gobblin-rest-api instead of gobblin-rest-api-rest-client |
| def installer = install.repositories.mavenInstaller |
| [installer]*.pom*.whenConfigured {pom -> |
| pom.dependencies.find {dep -> dep.groupId == project.group && dep.artifactId == 'gobblin-rest-api' }.artifactId = 'gobblin-rest-api-rest-client' |
| pom.dependencies.find {dep -> dep.groupId == project.group && dep.artifactId == 'gobblin-rest-api' }.artifactId = 'gobblin-rest-api-data-template' |
| } |
| if (rootProject.publishToMaven) { |
| def deployer = uploadArchives.repositories.mavenDeployer |
| [deployer]*.pom*.whenConfigured {pom -> |
| pom.dependencies.find {dep -> dep.groupId == project.group && dep.artifactId == 'gobblin-rest-api' }.artifactId = 'gobblin-rest-api-rest-client' |
| pom.dependencies.find {dep -> dep.groupId == project.group && dep.artifactId == 'gobblin-rest-api' }.artifactId = 'gobblin-rest-api-data-template' |
| } |
| } |
| // End HACK |
| |
| task testJar(type: Jar, dependsOn: testClasses) { |
| baseName = "test-${project.archivesBaseName}" |
| from sourceSets.test.output |
| } |
| |
| configurations { |
| tests |
| } |
| |
| configurations { |
| compile { |
| transitive = false |
| } |
| } |
| |
| artifacts { |
| tests testJar |
| } |
| |
| test { |
| workingDir rootProject.rootDir |
| maxParallelForks = 1 |
| } |
| |
| clean { |
| delete "../gobblin-test/locks" |
| delete "../gobblin-test/basicTest" |
| } |
| |
| ext.classification="library" |