You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iceberg.apache.org by bl...@apache.org on 2019/07/04 17:21:58 UTC

[incubator-iceberg] branch master updated: Use gradle-consistent-versions to manage dependencies (#241)

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

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


The following commit(s) were added to refs/heads/master by this push:
     new adafbd0  Use gradle-consistent-versions to manage dependencies (#241)
adafbd0 is described below

commit adafbd07d80d2a417d0a12c03b9a566db6003319
Author: mccheah <mc...@palantir.com>
AuthorDate: Thu Jul 4 10:21:54 2019 -0700

    Use gradle-consistent-versions to manage dependencies (#241)
---
 build.gradle                             | 114 +++++++-------
 gradle/wrapper/gradle-wrapper.properties |   2 +-
 versions.lock                            | 253 +++++++++++++++++++++++++++++++
 versions.props                           |  19 +++
 4 files changed, 328 insertions(+), 60 deletions(-)

diff --git a/build.gradle b/build.gradle
index a8170f4..bcadc4e 100644
--- a/build.gradle
+++ b/build.gradle
@@ -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) {
@@ -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'
@@ -57,34 +63,15 @@ 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'
   }
 
@@ -92,12 +79,12 @@ subprojects {
   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 {
@@ -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'
   }
 }
 
@@ -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'
     }
@@ -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'
     }
@@ -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'
     }
@@ -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'
     }
 
@@ -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'
     }
   }
@@ -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')
@@ -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'
     }
   }
@@ -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 {
@@ -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'
         }
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index 510cee0..1277f7d 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -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
diff --git a/versions.lock b/versions.lock
new file mode 100644
index 0000000..7a7d0dc
--- /dev/null
+++ b/versions.lock
@@ -0,0 +1,253 @@
+# Run ./gradlew --write-locks to regenerate this file
+ant:ant:1.6.5 (1 constraints: bb0a41d8)
+antlr:antlr:2.7.7 (2 constraints: 36167e02)
+aopalliance:aopalliance:1.0 (1 constraints: 170a83ac)
+asm:asm:3.1 (2 constraints: 4f19c3c6)
+com.carrotsearch:hppc:0.7.2 (1 constraints: f70cda14)
+com.clearspring.analytics:stream:2.7.0 (1 constraints: 1a0dd136)
+com.esotericsoftware:kryo-shaded:4.0.2 (2 constraints: b71345a6)
+com.esotericsoftware:minlog:1.3.0 (1 constraints: 670e7c4f)
+com.fasterxml.jackson.core:jackson-annotations:2.7.9 (4 constraints: f24786bf)
+com.fasterxml.jackson.core:jackson-core:2.7.9 (5 constraints: d748db55)
+com.fasterxml.jackson.core:jackson-databind:2.7.9 (8 constraints: a77bca51)
+com.fasterxml.jackson.module:jackson-module-paranamer:2.7.9 (1 constraints: e0154200)
+com.fasterxml.jackson.module:jackson-module-scala_2.11:2.7.9 (1 constraints: 7f0da251)
+com.github.ben-manes.caffeine:caffeine:2.7.0 (1 constraints: 0b050a36)
+com.github.luben:zstd-jni:1.3.2-2 (1 constraints: 760d7c51)
+com.google.code.findbugs:jsr305:3.0.2 (10 constraints: c483db75)
+com.google.code.gson:gson:2.2.4 (1 constraints: 8c0d3f2f)
+com.google.errorprone:error_prone_annotations:2.3.3 (2 constraints: 161a2544)
+com.google.guava:failureaccess:1.0.1 (1 constraints: 140ae1b4)
+com.google.guava:guava:28.0-jre (23 constraints: cc5c2ea0)
+com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava (1 constraints: bd17c918)
+com.google.inject:guice:3.0 (6 constraints: 6873914c)
+com.google.inject.extensions:guice-servlet:3.0 (11 constraints: a9d50a2b)
+com.google.j2objc:j2objc-annotations:1.3 (1 constraints: b809eda0)
+com.google.protobuf:protobuf-java:2.5.0 (15 constraints: f80eac0f)
+com.googlecode.javaewah:JavaEWAH:0.3.2 (1 constraints: ea0dfc42)
+com.jamesmurty.utils:java-xmlbuilder:0.4 (1 constraints: e40aa5ca)
+com.jcraft:jsch:0.1.42 (1 constraints: bb0ded3c)
+com.jolbox:bonecp:0.8.0.RELEASE (2 constraints: b22109f9)
+com.ning:compress-lzf:1.0.3 (1 constraints: 150dba36)
+com.sun.jersey:jersey-client:1.9 (4 constraints: 65529ed7)
+com.sun.jersey:jersey-core:1.9 (9 constraints: ec8f4404)
+com.sun.jersey:jersey-json:1.9 (5 constraints: 945f2f90)
+com.sun.jersey:jersey-server:1.9 (4 constraints: ef373c01)
+com.sun.jersey.contribs:jersey-guice:1.9 (4 constraints: 65529ed7)
+com.sun.xml.bind:jaxb-impl:2.2.3-1 (1 constraints: 330c2404)
+com.thoughtworks.paranamer:paranamer:2.8 (3 constraints: aa296195)
+com.twitter:chill-java:0.9.3 (2 constraints: a716716f)
+com.twitter:chill_2.11:0.9.3 (2 constraints: 121b92c3)
+com.twitter:parquet-hadoop-bundle:1.6.0 (3 constraints: 7c262424)
+com.univocity:univocity-parsers:2.7.3 (1 constraints: c40ccb27)
+com.vlkan:flatbuffers:1.2.0-3f79e055 (2 constraints: 411e1dee)
+commons-beanutils:commons-beanutils:1.7.0 (1 constraints: da0e635f)
+commons-beanutils:commons-beanutils-core:1.8.0 (1 constraints: 1d134124)
+commons-cli:commons-cli:1.2 (8 constraints: 9467c282)
+commons-codec:commons-codec:1.10 (18 constraints: cfeebaf2)
+commons-collections:commons-collections:3.2.2 (4 constraints: 42476934)
+commons-configuration:commons-configuration:1.6 (1 constraints: 2d0d5c14)
+commons-daemon:commons-daemon:1.0.13 (1 constraints: d50c811c)
+commons-dbcp:commons-dbcp:1.4 (3 constraints: 9029e0e4)
+commons-digester:commons-digester:1.8 (1 constraints: bf1228fe)
+commons-el:commons-el:1.0 (1 constraints: fb077074)
+commons-httpclient:commons-httpclient:3.1 (4 constraints: e52cc77f)
+commons-io:commons-io:2.4 (6 constraints: 4a568049)
+commons-lang:commons-lang:2.6 (20 constraints: c11a7ff4)
+commons-logging:commons-logging:1.2 (27 constraints: f2ab390b)
+commons-net:commons-net:3.1 (3 constraints: 3d222e61)
+commons-pool:commons-pool:1.6 (4 constraints: e336ab5e)
+dk.brics.automaton:automaton:1.11-8 (1 constraints: 92088a8d)
+hsqldb:hsqldb:1.8.0.10 (1 constraints: f008499f)
+io.airlift:aircompressor:0.10 (1 constraints: 090a9fb2)
+io.dropwizard.metrics:metrics-core:3.1.5 (6 constraints: 865ea0ba)
+io.dropwizard.metrics:metrics-graphite:3.1.5 (1 constraints: 1a0dc936)
+io.dropwizard.metrics:metrics-json:3.1.5 (1 constraints: 1a0dc936)
+io.dropwizard.metrics:metrics-jvm:3.1.5 (1 constraints: 1a0dc936)
+io.netty:netty:3.9.9.Final (9 constraints: 9eb0396d)
+io.netty:netty-all:4.1.17.Final (3 constraints: d2312526)
+it.unimi.dsi:fastutil:7.0.13 (1 constraints: fc0d4043)
+javax.activation:activation:1.1.1 (1 constraints: 140dbb36)
+javax.annotation:javax.annotation-api:1.2 (2 constraints: 2d21193d)
+javax.inject:javax.inject:1 (4 constraints: 852d0c1a)
+javax.jdo:jdo-api:3.0.1 (2 constraints: 4c1dcc1a)
+javax.servlet:javax.servlet-api:3.1.0 (1 constraints: 150dc436)
+javax.servlet:servlet-api:2.5 (7 constraints: c87e5aa1)
+javax.servlet.jsp:jsp-api:2.1 (1 constraints: 290d5a14)
+javax.transaction:jta:1.1 (1 constraints: 9f07d96b)
+javax.validation:validation-api:1.1.0.Final (1 constraints: 13133130)
+javax.ws.rs:javax.ws.rs-api:2.0.1 (5 constraints: 6e649355)
+javax.xml.bind:jaxb-api:2.2.11 (6 constraints: a069fd48)
+javolution:javolution:5.5.1 (1 constraints: f00d1a43)
+jline:jline:2.12 (3 constraints: 98208776)
+joda-time:joda-time:2.9.9 (5 constraints: c2326fe6)
+log4j:apache-log4j-extras:1.2.17 (4 constraints: 3f36b1af)
+log4j:log4j:1.2.17 (12 constraints: 22ab5529)
+net.hydromatic:eigenbase-properties:1.1.5 (1 constraints: 5f0daf2c)
+net.java.dev.jets3t:jets3t:0.9.0 (2 constraints: ec152b22)
+net.razorvine:pyrolite:4.13 (1 constraints: eb0cb829)
+net.sf.kosmosfs:kfs:0.3 (1 constraints: fd077074)
+net.sf.opencsv:opencsv:2.3 (2 constraints: a218daa5)
+net.sf.py4j:py4j:0.10.7 (1 constraints: 490d0044)
+org.antlr:ST4:4.0.4 (3 constraints: 5521e4e4)
+org.antlr:antlr-runtime:3.4 (6 constraints: b84229a1)
+org.antlr:antlr4-runtime:4.7 (1 constraints: 7a0e125f)
+org.antlr:stringtemplate:3.2.1 (1 constraints: c10a3bc6)
+org.apache.ant:ant:1.9.1 (3 constraints: a721ed14)
+org.apache.ant:ant-launcher:1.9.1 (1 constraints: 69082485)
+org.apache.arrow:arrow-format:0.10.0 (1 constraints: 1f0de721)
+org.apache.arrow:arrow-memory:0.10.0 (1 constraints: 1f0de721)
+org.apache.arrow:arrow-vector:0.10.0 (1 constraints: e90c9734)
+org.apache.avro:avro:1.8.2 (6 constraints: 8447619b)
+org.apache.avro:avro-ipc:1.8.2 (1 constraints: f90b5bf4)
+org.apache.avro:avro-mapred:1.8.2 (2 constraints: 3a1a4787)
+org.apache.calcite:calcite-avatica:1.2.0-incubating (4 constraints: a044b922)
+org.apache.calcite:calcite-core:1.2.0-incubating (2 constraints: bd20f965)
+org.apache.calcite:calcite-linq4j:1.2.0-incubating (1 constraints: ac1147d8)
+org.apache.commons:commons-compress:1.8.1 (6 constraints: 274bbeb0)
+org.apache.commons:commons-crypto:1.0.0 (2 constraints: 3a1e5fbf)
+org.apache.commons:commons-lang3:3.5 (3 constraints: 162b6f00)
+org.apache.commons:commons-math3:3.4.1 (2 constraints: a11af290)
+org.apache.curator:curator-client:2.7.1 (2 constraints: 6a1d2734)
+org.apache.curator:curator-framework:2.7.1 (4 constraints: 4937d02c)
+org.apache.curator:curator-recipes:2.7.1 (2 constraints: a61acc91)
+org.apache.derby:derby:10.12.1.1 (3 constraints: 9f2cb182)
+org.apache.directory.api:api-asn1-api:1.0.0-M20 (1 constraints: 3d163b13)
+org.apache.directory.api:api-util:1.0.0-M20 (1 constraints: 3d163b13)
+org.apache.directory.server:apacheds-i18n:2.0.0-M15 (1 constraints: 42164713)
+org.apache.directory.server:apacheds-kerberos-codec:2.0.0-M15 (1 constraints: 8f0d3b45)
+org.apache.hadoop:hadoop-annotations:2.7.3 (16 constraints: 2c27b38c)
+org.apache.hadoop:hadoop-auth:2.7.3 (1 constraints: 900d4d2f)
+org.apache.hadoop:hadoop-client:2.7.3 (2 constraints: 2b12043c)
+org.apache.hadoop:hadoop-common:2.7.3 (4 constraints: 812c73fd)
+org.apache.hadoop:hadoop-hdfs:2.7.3 (5 constraints: f13eea79)
+org.apache.hadoop:hadoop-mapreduce-client-app:2.7.3 (3 constraints: ab2f8436)
+org.apache.hadoop:hadoop-mapreduce-client-common:2.7.3 (4 constraints: 184f4f66)
+org.apache.hadoop:hadoop-mapreduce-client-core:2.7.3 (4 constraints: 66361812)
+org.apache.hadoop:hadoop-mapreduce-client-jobclient:2.7.3 (2 constraints: 3b1dfa13)
+org.apache.hadoop:hadoop-mapreduce-client-shuffle:2.7.3 (2 constraints: 2628c449)
+org.apache.hadoop:hadoop-yarn-api:2.7.3 (10 constraints: 07b8bd4c)
+org.apache.hadoop:hadoop-yarn-client:2.7.3 (1 constraints: 1f14626e)
+org.apache.hadoop:hadoop-yarn-common:2.7.3 (9 constraints: b3b2f06f)
+org.apache.hadoop:hadoop-yarn-server-applicationhistoryservice:2.7.3 (1 constraints: f5157dcf)
+org.apache.hadoop:hadoop-yarn-server-common:2.7.3 (7 constraints: 5192cac0)
+org.apache.hadoop:hadoop-yarn-server-nodemanager:2.7.3 (2 constraints: 6726468d)
+org.apache.hadoop:hadoop-yarn-server-resourcemanager:2.7.3 (2 constraints: af2040af)
+org.apache.hadoop:hadoop-yarn-server-web-proxy:2.7.3 (2 constraints: cb287679)
+org.apache.hive:hive-common:1.2.1 (1 constraints: 740bb5e4)
+org.apache.hive:hive-metastore:1.2.1 (2 constraints: 0b1094b7)
+org.apache.hive:hive-serde:1.2.1 (1 constraints: 350d6320)
+org.apache.hive:hive-shims:1.2.1 (4 constraints: 962f99d3)
+org.apache.hive:hive-storage-api:2.6.0 (1 constraints: 3e0aedbc)
+org.apache.hive.shims:hive-shims-0.20S:1.2.1 (1 constraints: 850b5fe5)
+org.apache.hive.shims:hive-shims-0.23:1.2.1 (1 constraints: 850b5fe5)
+org.apache.hive.shims:hive-shims-common:1.2.1 (4 constraints: 233b0a15)
+org.apache.hive.shims:hive-shims-scheduler:1.2.1 (1 constraints: 850b5fe5)
+org.apache.htrace:htrace-core:3.1.0-incubating (2 constraints: cd22cffa)
+org.apache.httpcomponents:httpclient:4.5.6 (4 constraints: 573134dd)
+org.apache.httpcomponents:httpcore:4.4.10 (3 constraints: d327f763)
+org.apache.ivy:ivy:2.4.0 (3 constraints: 0826dbf1)
+org.apache.orc:orc-core:1.5.5 (2 constraints: cc11b227)
+org.apache.orc:orc-mapreduce:1.5.2 (1 constraints: c00cbf27)
+org.apache.orc:orc-shims:1.5.5 (1 constraints: 410aeabc)
+org.apache.parquet:parquet-avro:1.10.0 (1 constraints: 3405293b)
+org.apache.parquet:parquet-column:1.10.0 (3 constraints: 91296eca)
+org.apache.parquet:parquet-common:1.10.0 (2 constraints: 4a1e4485)
+org.apache.parquet:parquet-encoding:1.10.0 (1 constraints: c90ef864)
+org.apache.parquet:parquet-format:2.4.0 (3 constraints: e72a97ca)
+org.apache.parquet:parquet-hadoop:1.10.0 (2 constraints: dc1a9ab3)
+org.apache.parquet:parquet-jackson:1.10.0 (1 constraints: b60ee663)
+org.apache.pig:pig:0.14.0 (1 constraints: 37052f3b)
+org.apache.spark:spark-catalyst_2.11:2.4.0 (1 constraints: be0cbf27)
+org.apache.spark:spark-core_2.11:2.4.0 (3 constraints: a928fd97)
+org.apache.spark:spark-hive_2.11:2.4.0 (1 constraints: 08050136)
+org.apache.spark:spark-kvstore_2.11:2.4.0 (1 constraints: 170dc836)
+org.apache.spark:spark-launcher_2.11:2.4.0 (1 constraints: 170dc836)
+org.apache.spark:spark-network-common_2.11:2.4.0 (2 constraints: a81e16e2)
+org.apache.spark:spark-network-shuffle_2.11:2.4.0 (1 constraints: 170dc836)
+org.apache.spark:spark-sketch_2.11:2.4.0 (2 constraints: 901b2cf5)
+org.apache.spark:spark-sql_2.11:2.4.0 (1 constraints: 1a0dfc36)
+org.apache.spark:spark-tags_2.11:2.4.0 (7 constraints: be61b8dd)
+org.apache.spark:spark-unsafe_2.11:2.4.0 (2 constraints: e91b1613)
+org.apache.thrift:libfb303:0.9.3 (3 constraints: 6725fac0)
+org.apache.thrift:libthrift:0.9.3 (5 constraints: 71415452)
+org.apache.xbean:xbean-asm6-shaded:4.8 (2 constraints: 2419a30f)
+org.apache.zookeeper:zookeeper:3.4.6 (11 constraints: 18a71f48)
+org.checkerframework:checker-qual:2.8.1 (2 constraints: 1a1a3944)
+org.codehaus.jackson:jackson-core-asl:1.9.13 (13 constraints: c6a96183)
+org.codehaus.jackson:jackson-jaxrs:1.9.13 (2 constraints: 821bca9d)
+org.codehaus.jackson:jackson-mapper-asl:1.9.13 (13 constraints: 27a6dc31)
+org.codehaus.jackson:jackson-xc:1.9.13 (2 constraints: 821bca9d)
+org.codehaus.janino:commons-compiler:3.0.9 (3 constraints: 0a2837cc)
+org.codehaus.janino:janino:3.0.9 (2 constraints: 3f1c6304)
+org.codehaus.jettison:jettison:1.1 (4 constraints: a84e24a9)
+org.codehaus.mojo:animal-sniffer-annotations:1.17 (1 constraints: ed09d8aa)
+org.datanucleus:datanucleus-api-jdo:3.2.6 (2 constraints: 5a1d241c)
+org.datanucleus:datanucleus-core:3.2.10 (5 constraints: 4a4401e0)
+org.datanucleus:datanucleus-rdbms:3.2.9 (2 constraints: 601db41c)
+org.eclipse.jdt:core:3.1.1 (1 constraints: b40a38d8)
+org.fusesource.leveldbjni:leveldbjni-all:1.8 (9 constraints: 91a69ae7)
+org.glassfish.hk2:hk2-api:2.4.0-b34 (5 constraints: 9d5608c7)
+org.glassfish.hk2:hk2-locator:2.4.0-b34 (4 constraints: 3d490865)
+org.glassfish.hk2:hk2-utils:2.4.0-b34 (2 constraints: 0719352b)
+org.glassfish.hk2:osgi-resource-locator:1.0.1 (2 constraints: 79234465)
+org.glassfish.hk2.external:aopalliance-repackaged:2.4.0-b34 (2 constraints: 0719352b)
+org.glassfish.hk2.external:javax.inject:2.4.0-b34 (6 constraints: 52712a15)
+org.glassfish.jersey.bundles.repackaged:jersey-guava:2.22.2 (1 constraints: 231118d4)
+org.glassfish.jersey.containers:jersey-container-servlet:2.22.2 (1 constraints: 490d1144)
+org.glassfish.jersey.containers:jersey-container-servlet-core:2.22.2 (2 constraints: 6425a010)
+org.glassfish.jersey.core:jersey-client:2.22.2 (2 constraints: 791ef7a3)
+org.glassfish.jersey.core:jersey-common:2.22.2 (6 constraints: 5f747f50)
+org.glassfish.jersey.core:jersey-server:2.22.2 (3 constraints: 553f5d56)
+org.glassfish.jersey.media:jersey-media-jaxb:2.22.2 (1 constraints: 3111f1d4)
+org.iq80.snappy:snappy:0.2 (1 constraints: 890d5927)
+org.javassist:javassist:3.18.1-GA (1 constraints: 570d4740)
+org.jodd:jodd-core:3.5.2 (2 constraints: 0c1bda93)
+org.json:json:20090211 (1 constraints: 890c4218)
+org.json4s:json4s-ast_2.11:3.5.3 (1 constraints: 0c0b9ae9)
+org.json4s:json4s-core_2.11:3.5.3 (1 constraints: 4c0c5316)
+org.json4s:json4s-jackson_2.11:3.5.3 (1 constraints: 1c0dd336)
+org.json4s:json4s-scalap_2.11:3.5.3 (1 constraints: 0c0b9ae9)
+org.lz4:lz4-java:1.4.0 (1 constraints: 160dc336)
+org.mortbay.jetty:jetty:6.1.26 (4 constraints: c8369437)
+org.mortbay.jetty:jetty-util:6.1.26 (7 constraints: 7e689dae)
+org.mortbay.jetty:jsp-2.1:6.1.14 (1 constraints: 9408a38d)
+org.mortbay.jetty:jsp-api-2.1:6.1.14 (2 constraints: 7e130c9d)
+org.mortbay.jetty:servlet-api:2.5-20081211 (1 constraints: 390cbd19)
+org.mortbay.jetty:servlet-api-2.5:6.1.14 (2 constraints: e51482f7)
+org.objenesis:objenesis:2.5.1 (2 constraints: 19198bcb)
+org.roaringbitmap:RoaringBitmap:0.5.11 (1 constraints: 480d0a44)
+org.scala-lang:scala-library:2.11.12 (11 constraints: 319b89e7)
+org.scala-lang:scala-reflect:2.11.12 (2 constraints: 3d25c8bc)
+org.scala-lang.modules:scala-parser-combinators_2.11:1.1.0 (1 constraints: cf0e717c)
+org.scala-lang.modules:scala-xml_2.11:1.0.6 (1 constraints: 080b84e9)
+org.slf4j:jcl-over-slf4j:1.7.16 (1 constraints: 500d1d44)
+org.slf4j:jul-to-slf4j:1.7.16 (1 constraints: 500d1d44)
+org.slf4j:slf4j-api:1.7.25 (48 constraints: e8b0fa12)
+org.sonatype.sisu.inject:cglib:2.2.1-v20090111 (1 constraints: aa0cfd36)
+org.spark-project.hive:hive-exec:1.2.1.spark2 (1 constraints: 990fa09c)
+org.spark-project.hive:hive-metastore:1.2.1.spark2 (1 constraints: 990fa09c)
+org.spark-project.spark:unused:1.0.0 (11 constraints: 7a9e9eab)
+org.tukaani:xz:1.5 (1 constraints: f008458a)
+org.xerial.snappy:snappy-java:1.1.7.1 (3 constraints: 0f261e3f)
+oro:oro:2.0.8 (3 constraints: 3b229337)
+stax:stax-api:1.0.1 (2 constraints: ea186edd)
+tomcat:jasper-compiler:5.5.12 (1 constraints: 9508ab8d)
+tomcat:jasper-runtime:5.5.12 (1 constraints: 9508ab8d)
+xerces:xercesImpl:2.9.1 (1 constraints: ac0ccc0f)
+xml-apis:xml-apis:1.3.04 (1 constraints: b008af8c)
+xmlenc:xmlenc:0.52 (3 constraints: 05228b2f)
+
+[Test dependencies]
+junit:junit:4.12 (1 constraints: db04ff30)
+org.apache.curator:apache-curator:2.6.0 (1 constraints: 0a0bf4d6)
+org.apache.hadoop:hadoop-mapreduce-client-hs:2.7.3 (1 constraints: b60fac84)
+org.apache.hadoop:hadoop-minicluster:2.7.3 (1 constraints: 0e050d36)
+org.apache.hadoop:hadoop-yarn-server-tests:2.7.3 (1 constraints: b60fac84)
+org.apache.hive:hive-ant:1.2.1 (1 constraints: 060be4d6)
+org.apache.hive:hive-exec:1.2.1 (1 constraints: 0605f735)
+org.apache.velocity:velocity:1.5 (1 constraints: 480ae2b4)
+org.codehaus.groovy:groovy-all:2.1.6 (1 constraints: 0b0bebd6)
+org.hamcrest:hamcrest-core:1.3 (2 constraints: 7910aeb0)
+org.mockito:mockito-core:1.10.19 (1 constraints: 6e059840)
+org.slf4j:slf4j-simple:1.7.5 (1 constraints: 0f050a36)
diff --git a/versions.props b/versions.props
new file mode 100644
index 0000000..7f71842
--- /dev/null
+++ b/versions.props
@@ -0,0 +1,19 @@
+org.slf4j:slf4j-api = 1.7.5
+com.google.guava:guava = 28.0-jre
+org.apache.avro:avro = 1.8.2
+org.apache.hadoop:* = 2.7.3
+org.apache.hive:hive-standalone-metastore = 1.2.1
+org.apache.orc:orc-core = 1.5.5
+org.apache.parquet:parquet-avro = 1.10.0
+org.apache.spark:spark-hive_2.11 = 2.4.0
+org.apache.pig:pig = 0.14.0
+com.fasterxml.jackson.*:* = 2.7.9
+com.github.ben-manes.caffeine:caffeine = 2.7.0
+
+# test deps
+junit:junit = 4.12
+org.slf4j:slf4j-simple = 1.7.5
+org.mockito:mockito-core = 1.10.19
+joda-time:joda-time = 2.9.9
+org.apache.hive:hive-exec = 1.2.1
+org.apache.hive:hive-metastore = 1.2.1