blob: 6d1a8df6bbd1a61fd1ce798e6abd2f9f2ee8fae7 [file] [log] [blame]
/*
* 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.
*/
// overriding default versions for Hive3
def hiveVersion = "3.1.3"
def hadoopVersion = "3.1.0"
def tezVersion = "0.10.1"
project(':iceberg-hive3') {
// run the tests in iceberg-mr with Hive3 dependencies
sourceSets {
test {
java.srcDirs = ['../mr/src/test/java', 'src/test/java']
resources.srcDirs = ['../mr/src/test/resources', 'src/test/resources']
}
}
// exclude these Hive2-specific tests from iceberg-mr
test {
exclude '**/TestIcebergDateObjectInspector.class'
exclude '**/TestIcebergTimestampObjectInspector.class'
exclude '**/TestIcebergTimestampWithZoneObjectInspector.class'
}
dependencies {
compileOnly project(path: ':iceberg-bundled-guava', configuration: 'shadow')
compileOnly project(':iceberg-api')
compileOnly project(':iceberg-core')
compileOnly project(':iceberg-common')
compileOnly project(':iceberg-hive-metastore')
compileOnly project(':iceberg-parquet')
compileOnly project(':iceberg-hive3-orc-bundle')
compileOnly project(':iceberg-mr')
compileOnly project(':iceberg-data')
compileOnly project(':iceberg-orc')
compileOnly("org.apache.hadoop:hadoop-client:${hadoopVersion}") {
exclude group: 'org.apache.avro', module: 'avro'
}
compileOnly("org.apache.hive:hive-exec:${hiveVersion}:core") {
exclude group: 'com.google.code.findbugs', module: 'jsr305'
exclude group: 'com.google.guava'
exclude group: 'com.google.protobuf', module: 'protobuf-java'
exclude group: 'org.apache.avro', module: 'avro'
exclude group: 'org.apache.calcite.avatica'
exclude group: 'org.apache.hive', module: 'hive-llap-tez'
exclude group: 'org.apache.logging.log4j'
exclude group: 'org.pentaho' // missing dependency
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
}
compileOnly("org.apache.orc:orc-core::nohive") {
exclude group: 'org.apache.hadoop'
exclude group: 'commons-lang'
// These artifacts are shaded and included in the orc-core fat jar
exclude group: 'com.google.protobuf', module: 'protobuf-java'
exclude group: 'org.apache.hive', module: 'hive-storage-api'
}
compileOnly("org.apache.hive:hive-metastore:${hiveVersion}") {
exclude group: 'org.apache.orc'
exclude group: 'org.apache.parquet'
}
compileOnly("org.apache.hive:hive-serde:${hiveVersion}") {
exclude group: 'org.apache.orc'
exclude group: 'org.apache.parquet'
}
compileOnly("org.apache.parquet:parquet-avro") {
exclude group: 'org.apache.avro', module: 'avro'
// already shaded by Parquet
exclude group: 'it.unimi.dsi'
exclude group: 'org.codehaus.jackson'
}
testImplementation project(path: ':iceberg-api', configuration: 'testArtifacts')
testImplementation project(path: ':iceberg-core', configuration: 'testArtifacts')
testImplementation project(path: ':iceberg-hive-metastore', configuration: 'testArtifacts')
testImplementation project(path: ':iceberg-data', configuration: 'testArtifacts')
testImplementation("org.apache.avro:avro:1.9.2")
testImplementation("org.apache.calcite:calcite-core")
testImplementation("com.esotericsoftware:kryo-shaded:4.0.2")
testImplementation("com.fasterxml.jackson.core:jackson-annotations:2.6.5")
testImplementation("org.apache.hive:hive-service:${hiveVersion}") {
exclude group: 'org.apache.hive', module: 'hive-exec'
exclude group: 'org.apache.orc'
}
testImplementation("org.apache.tez:tez-dag:${tezVersion}")
testImplementation("org.apache.tez:tez-mapreduce:${tezVersion}")
}
test {
// testJoinTables / testScanTable
maxHeapSize '2500m'
}
}