From fcf99aa680fea5bc09567ae54edf74cd71d0edac Mon Sep 17 00:00:00 2001 From: Chris Bono Date: Fri, 15 Mar 2024 14:52:33 -0500 Subject: [PATCH] Add pulsar-client-reactive-api to spring-pulsar-reactive (#614) The pulsar-client-reactive-api transitively includes the pulsar-client-api. To insulate against different Pulsar client versions in the Pulsar Reactive Client and Spring Pulsar we exclude this transitive dependency and then include the version dictated by Spring Pulsar. This is the same technique that is already done for the pulsar-client-reactive-adapter. --- gradle/libs.versions.toml | 1 + spring-pulsar-reactive/spring-pulsar-reactive.gradle | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml index db8a9638b..139e78044 100644 --- a/gradle/libs.versions.toml +++ b/gradle/libs.versions.toml @@ -50,6 +50,7 @@ micrometer-docs-gen = { module = "io.micrometer:micrometer-docs-generator", vers micrometer-tracing-bom = { module = "io.micrometer:micrometer-tracing-bom", version.ref = "micrometer-tracing" } protobuf-java = { module = "com.google.protobuf:protobuf-java", version.ref = "protobuf" } pulsar-client-all = { module = "org.apache.pulsar:pulsar-client-all", version.ref = "pulsar" } +pulsar-client-reactive-api = { module = "org.apache.pulsar:pulsar-client-reactive-api", version.ref = "pulsar-reactive" } pulsar-client-reactive-adapter = { module = "org.apache.pulsar:pulsar-client-reactive-adapter", version.ref = "pulsar-reactive" } pulsar-client-reactive-producer-cache-caffeine-shaded = { module = "org.apache.pulsar:pulsar-client-reactive-producer-cache-caffeine-shaded", version.ref = "pulsar-reactive" } pulsar-functions-api = { module = "org.apache.pulsar:pulsar-functions-api", version.ref = "pulsar" } diff --git a/spring-pulsar-reactive/spring-pulsar-reactive.gradle b/spring-pulsar-reactive/spring-pulsar-reactive.gradle index ab5aeb66c..e13dab62d 100644 --- a/spring-pulsar-reactive/spring-pulsar-reactive.gradle +++ b/spring-pulsar-reactive/spring-pulsar-reactive.gradle @@ -6,9 +6,16 @@ description = 'Spring Pulsar Reactive Support' dependencies { api project (':spring-pulsar') + api (libs.pulsar.client.reactive.api) { + // spring-pulsar includes a pulsar-client-api with its unwanted transitive deps excluded + exclude group: "org.apache.pulsar", module: "pulsar-client-api" + } api (libs.pulsar.client.reactive.adapter) { // spring-pulsar includes a pulsar-client with its unwanted transitive deps excluded exclude group: "org.apache.pulsar", module: "pulsar-client" + // (above) we include a pulsar-client-reactive-api whose pulsar-client-api with + // unwanted transitive deps excluded + exclude group: "org.apache.pulsar", module: "pulsar-client-reactive-api" } api(libs.pulsar.client.reactive.producer.cache.caffeine.shaded) { // (above) we include a pulsar-client-reactive-adapter whose pulsar-client with