Skip to content
Merged
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
9 changes: 9 additions & 0 deletions bom/bom-verification/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,15 @@ dependencies {
exclude group: 'io.camunda', module: 'identity-sdk'
}
implementation 'io.camunda:zeebe-client-java'
// Broker-side APIs + the metrics client they come with, used by the Kafka
// exporter plugin in paymenthub-ee-data-pipeline.
implementation 'io.camunda:zeebe-exporter-api'
implementation 'io.camunda:zeebe-protocol'
implementation 'io.prometheus:simpleclient'

// Kafka client (managed by the Spring Boot BOM) — the exporter plugin and
// the importers all talk to the same Kafka topic.
implementation 'org.apache.kafka:kafka-clients'

// Jakarta EE 10
implementation 'jakarta.validation:jakarta.validation-api'
Expand Down
17 changes: 17 additions & 0 deletions bom/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,23 @@ dependencies {
api "io.camunda:spring-zeebe-starter:${zeebeVersion}"
api "io.camunda:zeebe-client-java:${zeebeVersion}"
api "io.camunda:zeebe-bpmn-model:${zeebeVersion}"
// Broker-side APIs, used by the Kafka exporter plugin in
// paymenthub-ee-data-pipeline. The plugin takes them compileOnly: the
// broker already holds these classes and supplies them at runtime, so
// none of this ends up in the exporter jar. They do NOT have to equal
// the version of the running broker -- the Exporter SPI is stable across
// the 8.x line, and the exporter deployed today is built against 8.1.1
// and runs fine in a broker that is not 8.1. They follow zeebeVersion to
// stay consistent with the clients above, which is the only reason.
api "io.camunda:zeebe-exporter-api:${zeebeVersion}"
api "io.camunda:zeebe-protocol:${zeebeVersion}"

// ── Prometheus client ─────────────────────────────────────────────────
// The Zeebe broker exposes its metrics through the legacy Prometheus
// simpleclient and ships 0.16.0. The Kafka exporter registers its own
// histograms in that same registry, so it compiles against the version
// the broker carries -- compileOnly, for the same reason as above.
api "io.prometheus:simpleclient:${prometheusSimpleclientVersion}"

// ── Apache CXF ────────────────────────────────────────────────────────
// CXF 3.x uses javax.*; CXF 4.x uses jakarta.*.
Expand Down
8 changes: 8 additions & 0 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,14 @@ mastercardOauth1Version=1.5.3
# JSON — org.json is not managed by the Spring Boot BOM.
orgJsonVersion=20240303

# Prometheus simpleclient — the legacy metrics client the Zeebe broker ships.
# The 8.x brokers carry 0.16.0, 8.5 included, so this is not tied to one
# broker version.
# Spring Boot 3 manages the newer io.prometheus:prometheus-metrics-* line instead,
# so the legacy simpleclient has to be pinned here. Used by the Kafka exporter
# plugin (paymenthub-ee-data-pipeline), which registers histograms in the broker.
prometheusSimpleclientVersion=0.16.0

# Elasticsearch 7 legacy REST high-level client.
# ph-ee-zeebe-ops (and likely ph-ee-importer-es) still code against the ES7
# RestHighLevelClient API, which Spring Boot 3 / Spring Data ES 5 no longer
Expand Down
Loading