From 0eb4fa604efe4e0b84d69749f688a79c2249c8b3 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Wed, 9 Jun 2021 13:38:56 +0200 Subject: build: Eliminate most Hadoop dependencies This change eliminates all Hadoop dependencies that are not necessary for Parquet to work correctly. As a result, the number of dependencies should now be greatly reduced, which in turn leads to less artifacts that need to be retrieved at build time. --- opendc-format/build.gradle.kts | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'opendc-format') diff --git a/opendc-format/build.gradle.kts b/opendc-format/build.gradle.kts index d3c1a59a..e19e0ec8 100644 --- a/opendc-format/build.gradle.kts +++ b/opendc-format/build.gradle.kts @@ -40,16 +40,28 @@ dependencies { } implementation(kotlin("reflect")) + /* This configuration is necessary for a slim dependency on Apache Parquet */ implementation(libs.parquet) { exclude(group = "org.apache.hadoop") } - implementation(libs.hadoop.common) { + runtimeOnly(libs.hadoop.common) { exclude(group = "org.slf4j", module = "slf4j-log4j12") exclude(group = "log4j") + exclude(group = "org.apache.hadoop") + exclude(group = "org.apache.curator") + exclude(group = "org.apache.zookeeper") + exclude(group = "org.apache.kerby") + exclude(group = "org.apache.httpcomponents") + exclude(group = "org.apache.htrace") + exclude(group = "commons-cli") + exclude(group = "javax.servlet") + exclude(group = "org.eclipse.jetty") + exclude(group = "com.sun.jersey") + exclude(group = "com.jcraft") + exclude(group = "dnsjava") } - implementation(libs.hadoop.mapreduce.client.core) { - exclude(group = "org.slf4j", module = "slf4j-log4j12") - exclude(group = "log4j") + runtimeOnly(libs.hadoop.mapreduce.client.core) { + isTransitive = false } testRuntimeOnly(libs.slf4j.simple) -- cgit v1.2.3