Skip to content

Commit

Permalink
Use gradle-consistent-versions to manage dependencies (apache#241)
Browse files Browse the repository at this point in the history
  • Loading branch information
mccheah authored and rdblue committed Jul 4, 2019
1 parent b898129 commit adafbd0
Show file tree
Hide file tree
Showing 4 changed files with 328 additions and 60 deletions.
114 changes: 55 additions & 59 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -26,17 +26,18 @@ buildscript {
}
dependencies {
classpath 'com.github.jengelman.gradle.plugins:shadow:5.0.0'
classpath 'com.netflix.nebula:nebula-publishing-plugin:5.1.5'
classpath 'com.palantir.baseline:gradle-baseline-java:0.55.0'
classpath 'com.diffplug.spotless:spotless-plugin-gradle:3.14.0'
classpath 'gradle.plugin.org.inferred:gradle-processors:2.1.0'
classpath 'me.champeau.gradle:jmh-gradle-plugin:0.4.8'
classpath 'com.netflix.nebula:nebula-publishing-plugin:9.5.0'
}
}

plugins {
id 'nebula.netflixoss' version '4.1.0'
id 'com.palantir.git-version' version '0.9.1'
id 'com.palantir.consistent-versions' version '1.9.2'
}

if (JavaVersion.current() != JavaVersion.VERSION_1_8) {
Expand All @@ -47,6 +48,11 @@ allprojects {
group = "org.apache.iceberg"
apply plugin: 'com.palantir.baseline-idea'
version = gitVersion()
repositories {
maven { url "http://palantir.bintray.com/releases" }
mavenCentral()
mavenLocal()
}
}

apply plugin: 'com.palantir.baseline-config'
Expand All @@ -57,47 +63,28 @@ subprojects {
apply plugin: 'java'
apply plugin: 'maven' // make pom files for deployment
apply plugin: 'nebula.maven-base-publish'
repositories {
mavenCentral()
mavenLocal()
maven { url "http://palantir.bintray.com/releases" }
}

configurations {
testCompile.extendsFrom compileOnly
all {
resolutionStrategy {
force 'org.apache.httpcomponents:httpclient:4.4.1'
}
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
}

ext {
hadoopVersion = '2.7.3'
avroVersion = '1.8.2'
orcVersion = '1.5.5'
parquetVersion = '1.10.0'
hiveVersion = '1.2.1'

jacksonVersion = '2.6.7'

scalaVersion = '2.11'
sparkVersion = '2.4.0'
caffeineVersion = "2.7.0"
jmhVersion = '1.21'
}

sourceCompatibility = '1.8'
targetCompatibility = '1.8'

dependencies {
compileOnly 'org.slf4j:slf4j-api:1.7.5'
compileOnly 'com.google.guava:guava:28.0-jre'
compileOnly 'org.slf4j:slf4j-api'
compileOnly 'com.google.guava:guava'

testCompile 'junit:junit:4.12'
testCompile 'org.slf4j:slf4j-simple:1.7.5'
testCompile 'org.mockito:mockito-core:1.10.19'
testCompile 'junit:junit'
testCompile 'org.slf4j:slf4j-simple'
testCompile 'org.mockito:mockito-core'
}

publishing {
Expand Down Expand Up @@ -207,8 +194,8 @@ configure(jmhProjects) {

project(':iceberg-api') {
dependencies {
testCompile "org.apache.avro:avro:$avroVersion"
testCompile 'joda-time:joda-time:2.9.9'
testCompile "org.apache.avro:avro"
testCompile 'joda-time:joda-time'
}
}

Expand All @@ -219,12 +206,12 @@ project(':iceberg-core') {
compile project(':iceberg-api')
compile project(':iceberg-common')

compile "org.apache.avro:avro:$avroVersion"
compile "org.apache.avro:avro"

compile "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
compile "com.fasterxml.jackson.core:jackson-core:$jacksonVersion"
compile "com.github.ben-manes.caffeine:caffeine:$caffeineVersion"
compileOnly("org.apache.hadoop:hadoop-client:$hadoopVersion") {
compile "com.fasterxml.jackson.core:jackson-databind"
compile "com.fasterxml.jackson.core:jackson-core"
compile "com.github.ben-manes.caffeine:caffeine"
compileOnly("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
Expand All @@ -237,7 +224,7 @@ project(':iceberg-data') {
compile project(':iceberg-core')
compileOnly project(':iceberg-parquet')

testCompile("org.apache.hadoop:hadoop-client:$hadoopVersion") {
testCompile("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
Expand All @@ -253,24 +240,31 @@ project(':iceberg-hive') {
dependencies {
compile project(':iceberg-core')

compileOnly "org.apache.avro:avro:$avroVersion"
compileOnly "org.apache.avro:avro"

compileOnly("org.apache.hive:hive-metastore:$hiveVersion") {
compileOnly("org.apache.hive:hive-metastore") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
exclude group: 'org.pentaho' // missing dependency
}

// By default, hive-exec is a fat/uber jar and it exports a guava library
// that's really old. We use the core classifier to be able to override our guava
// version. Luckily, hive-exec seems to work okay so far with this version of guava
// See: https://github.com/apache/hive/blob/master/ql/pom.xml#L911 for more context.
testCompile("org.apache.hive:hive-exec:$hiveVersion:core") {
testCompile("org.apache.hive:hive-exec::core") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
exclude group: 'org.pentaho' // missing dependency
}

testCompile("org.apache.hive:hive-metastore") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
exclude group: 'org.pentaho' // missing dependency
}

compileOnly("org.apache.hadoop:hadoop-client:$hadoopVersion") {
compileOnly("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
Expand All @@ -295,12 +289,12 @@ project(':iceberg-orc') {
compile project(':iceberg-api')
compile project(':iceberg-core')

compile("org.apache.orc:orc-core:$orcVersion:nohive") {
compile("org.apache.orc:orc-core::nohive") {
exclude group: 'org.apache.hadoop', module: 'hadoop-common'
}


compileOnly("org.apache.hadoop:hadoop-client:$hadoopVersion") {
compileOnly("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
}

Expand All @@ -312,10 +306,10 @@ project(':iceberg-parquet') {
compile project(':iceberg-api')
compile project(':iceberg-core')

compile "org.apache.parquet:parquet-avro:$parquetVersion"
compile "org.apache.parquet:parquet-avro"

compileOnly "org.apache.avro:avro:$avroVersion"
compileOnly("org.apache.hadoop:hadoop-client:$hadoopVersion") {
compileOnly "org.apache.avro:avro"
compileOnly("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
}
}
Expand All @@ -332,14 +326,14 @@ project(':iceberg-spark') {
compile project(':iceberg-parquet')
compile project(':iceberg-hive')

compileOnly "org.apache.avro:avro:$avroVersion"
compileOnly("org.apache.spark:spark-hive_$scalaVersion:$sparkVersion") {
compileOnly "org.apache.avro:avro"
compileOnly("org.apache.spark:spark-hive_2.11") {
exclude group: 'org.apache.avro', module: 'avro'
}

testCompile "org.apache.hadoop:hadoop-hdfs:$hadoopVersion:tests"
testCompile "org.apache.hadoop:hadoop-common:$hadoopVersion:tests"
testCompile("org.apache.hadoop:hadoop-minicluster:$hadoopVersion") {
testCompile "org.apache.hadoop:hadoop-hdfs::tests"
testCompile "org.apache.hadoop:hadoop-common::tests"
testCompile("org.apache.hadoop:hadoop-minicluster") {
exclude group: 'org.apache.avro', module: 'avro'
}
testCompile project(path: ':iceberg-hive', configuration: 'testArtifacts')
Expand All @@ -353,15 +347,17 @@ project(':iceberg-pig') {
compile project(':iceberg-core')
compile project(':iceberg-parquet')

compileOnly("org.apache.pig:pig:0.14.0")
compileOnly("org.apache.hadoop:hadoop-mapreduce-client-core:$hadoopVersion")
compileOnly("org.apache.hadoop:hadoop-client:$hadoopVersion") {
compileOnly("org.apache.pig:pig") {
exclude group: "junit", module: "junit"
}
compileOnly("org.apache.hadoop:hadoop-mapreduce-client-core")
compileOnly("org.apache.hadoop:hadoop-client") {
exclude group: 'org.apache.avro', module: 'avro'
}

testCompile "org.apache.hadoop:hadoop-hdfs:$hadoopVersion:tests"
testCompile "org.apache.hadoop:hadoop-common:$hadoopVersion:tests"
testCompile("org.apache.hadoop:hadoop-minicluster:$hadoopVersion") {
testCompile "org.apache.hadoop:hadoop-hdfs::tests"
testCompile "org.apache.hadoop:hadoop-common::tests"
testCompile("org.apache.hadoop:hadoop-minicluster") {
exclude group: 'org.apache.avro', module: 'avro'
}
}
Expand Down Expand Up @@ -394,8 +390,8 @@ project(':iceberg-runtime') {
shadow project(':iceberg-pig')
shadow project(':iceberg-hive')

shadow "org.apache.avro:avro:$avroVersion"
shadow "org.apache.parquet:parquet-avro:$parquetVersion"
shadow "org.apache.avro:avro"
shadow "org.apache.parquet:parquet-avro"
}

publishing {
Expand Down Expand Up @@ -438,10 +434,10 @@ project(':iceberg-presto-runtime') {
shadow project(':iceberg-parquet')
shadow project(':iceberg-hive')

shadow "org.apache.parquet:parquet-avro:$parquetVersion"
shadow "org.apache.avro:avro:$avroVersion"
shadow "org.apache.orc:orc-core:$orcVersion:nohive"
shadow ("org.apache.hive:hive-metastore:$hiveVersion") {
shadow "org.apache.orc:orc-core::nohive"
shadow "org.apache.parquet:parquet-avro"
shadow "org.apache.avro:avro"
shadow ("org.apache.hive:hive-metastore") {
exclude group: 'org.apache.hadoop', module: 'hadoop-common'
// exclude group: 'org.apache.orc', module: 'orc-core'
}
Expand Down
2 changes: 1 addition & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,4 @@ distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-5.2.1-bin.zip
distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-bin.zip
Loading

0 comments on commit adafbd0

Please sign in to comment.