blob: 90125167132a9ef70731b5672e8468811b76a1b7 [file]
// 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.
apply from: "$rootDir/gradle/shadow.gradle"
// Explicitly allow slf4j to be included in this jar.
shadowIncludeSlf4j = true
dependencies {
implementation project(path: ":kudu-proto")
implementation(libs.hadoopCommon) {
// Exclude io.netty to ensure we use our own versions.
// The dependency on io.netty is a transitive one through the chain
// hadoop-common --> hadoop-auth --> zookeeper --> io.netty.netty-xxx
exclude group: "io.netty"
// hadoopCommon and rangerPlugin use different versions of jersey.
exclude group: "com.sun.jersey"
// Exclude log4j and slf4j to ensure we use our own versions.
exclude group: "log4j"
exclude group: "org.slf4j"
}
implementation libs.protobufJavaUtil
implementation(libs.rangerPlugin) {
// rangerPlugin depends on kafka which includes different versions
// of jersey than rangerPlugin.
exclude group: "org.apache.kafka"
// Exclude log4j and slf4j to ensure we use our own versions.
exclude group: "log4j"
exclude group: "org.slf4j"
}
implementation libs.slf4jApi
implementation libs.log4jApi
implementation libs.log4jCore
implementation libs.log4jCompat
implementation libs.log4jSlf4jImpl
// Compiling exact modules from the io.netty group for hadoop-common:
// for some reason, if compiling just the libs.netty umbrella package
// (i.e. io.netty:netty-all), hadoop-common still depends on its own
// version of io.netty:netty-transport-native-epoll.
implementation libs.nettyBuffer
implementation libs.nettyCommon
implementation libs.nettyHandler
implementation libs.nettyTransport
implementation libs.nettyTransportEpoll
implementation libs.nettyTransportUnix
compileOnly libs.jsr305
implementation libs.yetusAnnotations
testImplementation project(path: ":kudu-test-utils", configuration: "shadow")
testImplementation libs.junit
testImplementation libs.mockitoCore
}
// kudu-subprocess has no public Javadoc.
javadoc {
enabled = false
}
// Skip publishing kudu-subprocess artifact because it's not intended for external use.
publish.enabled = false
publishToMavenLocal.enabled = false
shadowJar {
// It tells the Shadow plugin to find all files in META-INF/services/ across all dependency
// JARs and concatenate their contents.
mergeServiceFiles()
}