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.
This commit is contained in:
Chris Bono
2024-03-15 14:52:33 -05:00
committed by GitHub
parent 917ab52f33
commit fcf99aa680
2 changed files with 8 additions and 0 deletions

View File

@@ -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" }

View File

@@ -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