blob: 64927d43432cb1d50e188618f147587342fb7575 [file] [log] [blame]
// 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"