"resolutionStrategy.force" should work. Use "./gradlew dependencies" to
debug the dependencies.
https://docs.gradle.org/current/userguide/viewing_debugging_dependencies.html


On Mon, Jul 29, 2024 at 4:23 PM Ahmed Abualsaud via dev <dev@beam.apache.org>
wrote:

> Hey all,
>
> Does anyone have experience with sticky dependencies in gradle? I'm
> experimenting with the new Managed Iceberg connector and trying to write to
> GCS with a Hive catalog.
>
> I naturally need to pull some hive dependencies, but one particular module
> is very stubborn with its dependencies: *org.apache.hive:hive-exec:3.1.3.*
>
> I need to override its dependency on *com.google.protobuf:protobuf-java*
> (version 2.5.0) to use a more up-to-date version, but nothing I do seems
> to work
>
> I tried the following in my gradle file, but running the code always
> defaults to classes in *protobuf-java:2.5.0*:
>
>
> configurations.all {
>     resolutionStrategy.force 'com.google.protobuf:protobuf-java:3.25.3'
> }
>
> dependencies {
>     testImplementation 'com.google.protobuf:protobuf-java:3.25.3'
>
>     testImplementation("org.apache.hive:hive-exec:3.1.3") {
>         exclude group: "com.google.protobuf", module: "protobuf-java"
>     }
>     testImplementation "org.apache.iceberg:iceberg-hive-metastore:1.4.2"
>     testImplementation("org.apache.hive.hcatalog:hive-hcatalog-core:3.1.3") {
>         exclude group: "org.apache.hive", module: "hive-exec"
>         exclude group: "com.google.protobuf", module: "protobuf-java"
>     }
>
>     constraints {
>         testImplementation('com.google.protobuf:protobuf-java') {
>             version {
>                 strictly '3.25.3'
>             }
>         }
>     }
> }
>
>
> I also tried adding the following, which stripped *protobuf-java* from
> everything except *hive-exec:*
>
>
> configurations.all {
>     exclude group: 'com.google.protobuf', module: 'protobuf-java'
> }
>
>
> I also had similar pain points when trying to override
> org.apache.parquet:parquet-column. The hive module seems very intent on
> keeping its dependencies.
>
> Can anyone share their experiences with stubborn dependencies such as
> these? Would appreciate any tips!
>
> Best,
> Ahmed
>


-- 
Regards,
Tomo

Reply via email to