diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2021-06-09 14:16:10 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-09 14:16:10 +0200 |
| commit | e2f6cd904ccd8018b65ff897181388ae3f02ae6f (patch) | |
| tree | 96efef3c0aa511093c793dae6ea648448510bb68 /opendc-format/build.gradle.kts | |
| parent | 38ef2cabbecf694f66fa3bd5e69b9431c56a3f8d (diff) | |
| parent | 0eb4fa604efe4e0b84d69749f688a79c2249c8b3 (diff) | |
Remove dependency on Hadoop
This pull request attempts to remove the dependency of the simulator on Apache Hadoop
which is pulled in as a consequence of using parquet-mr.
The reason for removal is that Apache Hadoop does not work natively on Windows
without user intervention, which makes adoption on this platform more difficult.
* Add Windows as CI target for the OpenDC simulator
* Use `LocalInputFile` for Parquet reader usages
* Use `LocalOutputFile` for Parquet writer usages
* Remove Apache Hadoop as dependency of OpenDC.
Diffstat (limited to 'opendc-format/build.gradle.kts')
| -rw-r--r-- | opendc-format/build.gradle.kts | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/opendc-format/build.gradle.kts b/opendc-format/build.gradle.kts index e95cb666..e19e0ec8 100644 --- a/opendc-format/build.gradle.kts +++ b/opendc-format/build.gradle.kts @@ -40,9 +40,29 @@ dependencies { } implementation(kotlin("reflect")) - implementation(libs.parquet) - implementation(libs.hadoop.client) { + /* This configuration is necessary for a slim dependency on Apache Parquet */ + implementation(libs.parquet) { + exclude(group = "org.apache.hadoop") + } + 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") + } + runtimeOnly(libs.hadoop.mapreduce.client.core) { + isTransitive = false } + + testRuntimeOnly(libs.slf4j.simple) } |
