| /* |
| * 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. |
| */ |
| |
| // The purpose of this module is to re-shade org.apache.orc.storage to the original org.apache.hadoop.hive package |
| // name. This is to be used by Hive3 for features including e.g. vectorization. |
| project(':iceberg-hive3-orc-bundle') { |
| |
| apply plugin: 'com.github.johnrengelman.shadow' |
| |
| tasks.jar.dependsOn tasks.shadowJar |
| |
| configurations { |
| implementation { |
| exclude group: 'com.github.luben' |
| } |
| } |
| |
| dependencies { |
| implementation project(':iceberg-data') |
| implementation project(':iceberg-orc') |
| |
| testCompileOnly project(path: ':iceberg-data', configuration: 'testArtifacts') |
| testCompileOnly project(path: ':iceberg-orc', configuration: 'testArtifacts') |
| } |
| |
| shadowJar { |
| configurations = [project.configurations.compileClasspath, project.configurations.runtimeClasspath] |
| |
| zip64 true |
| |
| // include the LICENSE and NOTICE files for the shaded Jar |
| from(projectDir) { |
| include 'LICENSE' |
| include 'NOTICE' |
| } |
| |
| // Relocate dependencies to avoid conflicts |
| relocate 'org.apache.orc.storage', 'org.apache.hadoop.hive' |
| |
| // We really only need Iceberg and Orc classes, but with relocated references for storage-api classes (see above) |
| // Unfortunately the include list feature of this shader plugin doesn't work as expected |
| dependencies { |
| exclude 'com/**/*' |
| exclude 'edu/**/*' |
| exclude 'io/**' |
| exclude 'javax/**' |
| exclude 'org/apache/avro/**/*' |
| exclude 'org/apache/commons/**/*' |
| exclude 'org/checkerframework/**/*' |
| exclude 'org/codehaus/**/*' |
| exclude 'org/intellij/**/*' |
| exclude 'org/jetbrains/**/*' |
| exclude 'org/slf4j/**/*' |
| exclude 'org/threeten/**/*' |
| exclude 'org/xerial/**/*' |
| exclude 'org/apache/parquet/**/*' |
| exclude 'org/apache/yetus/**/*' |
| exclude 'shaded/parquet/**/*' |
| } |
| |
| classifier null |
| } |
| |
| jar { |
| enabled = false |
| } |
| |
| } |
| |