Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions apps/spark-3.5/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ ext {

configurations.all {
exclude group: 'org.apache.iceberg', module: 'iceberg-data'
exclude group: 'com.linkedin.iceberg', module: 'iceberg-data'
}
dependencies {
compileOnly (project(path: openhouseSparkRuntimeModule)) {
Expand All @@ -29,6 +30,7 @@ dependencies {
implementation "org.apache.logging.log4j:log4j-slf4j-impl:${log4jVersion}"
implementation(project(':libs:datalayout')) {
exclude group: 'org.apache.iceberg', module: 'iceberg-spark-runtime-3.1_2.12'
exclude group: 'com.linkedin.iceberg', module: 'iceberg-spark-runtime-3.1_2.12'
}
implementation ('org.apache.spark:spark-core_2.12:' + sparkVersion) {
exclude group: 'io.netty'
Expand Down
16 changes: 16 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -69,6 +69,22 @@ allprojects {
force 'com.fasterxml.jackson.core:jackson-databind:2.13.4'
force 'org.apache.orc:orc-core:1.8.3'
force 'com.google.guava:guava:31.1-jre'

// Redirect Apache Iceberg 1.2.0 core modules to LinkedIn groupId/version without changing declarations/imports
dependencySubstitution {
all { sub ->
def req = sub.requested
if (req instanceof org.gradle.api.artifacts.component.ModuleComponentSelector && req.group == 'org.apache.iceberg') {
def module = req.module
def version = req.version
boolean isIceberg120 = version != null && version == '1.2.0'
boolean isAwsOrAzure = module != null && (module.startsWith('iceberg-aws') || module.startsWith('iceberg-azure'))
if (isIceberg120 && !isAwsOrAzure) {
sub.useTarget("com.linkedin.iceberg:${module}:${version}")
}
}
}
}
}
}
}
Expand Down
8 changes: 4 additions & 4 deletions buildSrc/src/main/groovy/openhouse.apps-spark-common.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -22,10 +22,6 @@ dependencies {
implementation project(':services:common')
implementation project(':cluster:storage')

implementation("org.apache.iceberg:iceberg-bundled-guava")
implementation("org.apache.iceberg:iceberg-data")
implementation("org.apache.iceberg:iceberg-core")
implementation("org.apache.iceberg:iceberg-common")

implementation ('org.apache.hadoop:hadoop-common:2.10.0') {
exclude group: 'io.netty'
Expand Down Expand Up @@ -74,6 +70,10 @@ shadowJar {
// this dependency will be provided at runtime
exclude(dependency('org.apache.iceberg:iceberg-spark3-runtime::'))

// mirror excludes for com.linkedin.iceberg groupId after dependency substitution
exclude(dependency('com.linkedin.iceberg::'))
exclude(dependency('com.linkedin.iceberg:iceberg-spark3-runtime::'))

// can possibly be removed with gradle8 and shadow upgrade
// https://github.com/GradleUp/shadow/issues/877#issuecomment-2472922043
exclude 'META-INF/versions/19/'
Expand Down
1 change: 1 addition & 0 deletions scripts/java/tools/dummytokens/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ mainClassName = 'com.linkedin.openhouse.tools.dummytokens.DummyTokenGenerator'
dependencies {
implementation(project(':services:common')){
exclude group: 'org.apache.iceberg'
exclude group: 'com.linkedin.iceberg'
exclude group: 'com.azure'
}
implementation 'commons-cli:commons-cli:1.5.0'
Expand Down
1 change: 1 addition & 0 deletions services/tables/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -37,5 +37,6 @@ dependencies {
testImplementation(testFixtures(project(':services:common')))
testImplementation (project(':tables-test-fixtures:tables-test-fixtures_2.12')) {
exclude group: 'org.apache.iceberg'
exclude group: 'com.linkedin.iceberg'
}
}
Loading