From aa39f8524f8e3b8017323f67915d6c3fd5c200c7 Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Thu, 2 Jul 2026 19:55:32 +0200 Subject: [PATCH] Centralize third-party dependency versions in the BOM All third-party dependency versions now live in flume-third-party-dependencies, so there is a single source of truth. Previously flume-parent and flume-ng-node also declared versions (junit, mockito, hadoop test artifacts, mockserver, JUnit 5, etc.), some duplicating properties already defined in the BOM. The BOM dependencyManagement entries are now ordered by artifactId. Also drop the redundant relativePath (../pom.xml is the Maven default) and clarify the module description. Assisted-By: Claude Opus 4.8 (1M context) --- flume-ng-node/pom.xml | 4 - flume-parent/pom.xml | 124 --------- flume-third-party/pom.xml | 518 +++++++++++++++++++++++--------------- 3 files changed, 315 insertions(+), 331 deletions(-) diff --git a/flume-ng-node/pom.xml b/flume-ng-node/pom.xml index 0542d11712..6d0628c4b8 100644 --- a/flume-ng-node/pom.xml +++ b/flume-ng-node/pom.xml @@ -34,7 +34,6 @@ 12 7 org.apache.flume.node - 5.12.2 @@ -110,19 +109,16 @@ org.junit.jupiter junit-jupiter-api - ${junit-jupiter.version} test org.junit.jupiter junit-jupiter-engine - ${junit-jupiter.version} test org.junit.vintage junit-vintage-engine - ${junit-jupiter.version} test diff --git a/flume-parent/pom.xml b/flume-parent/pom.xml index ddebdd3638..841880fae8 100644 --- a/flume-parent/pom.xml +++ b/flume-parent/pom.xml @@ -228,11 +228,6 @@ ${project.basedir}/target/docs 2.3.7 - 5.9.0 - 1.4.1 - 3.5.0 - 4.13.2 - 5.18.0 1.8 3.2.0 @@ -252,11 +247,9 @@ 4.35.0 0.6.1 0.12 - 1.53 1.7.1 true 3.4.0 - 1.19.0 2.90.0 @@ -270,63 +263,6 @@ import - - junit - junit - ${junit.version} - - - - org.mockito - mockito-core - ${mockito.version} - test - - - - org.easytesting - fest-reflect - ${fest-reflect.version} - test - - - - com.github.stefanbirkner - system-rules - ${system-rules.version} - test - - - - org.apache.hadoop - hadoop-minikdc - ${hadoop.version} - test - - - ch.qos.reload4j - reload4j - - - org.slf4j - slf4j-reload4j - - - - org.apache.directory.jdbm - apacheds-jdbm1 - - - - - - org.apache.directory.jdbm - apacheds-jdbm1 - 2.0.0-M2 - test - - org.apache.flume @@ -349,66 +285,6 @@ tests test - - - org.apache.curator - curator-test - ${curator.version} - test - - - - org.apache.hadoop - hadoop-minicluster - ${hadoop.version} - test - - - tomcat - jasper-compiler - - - tomcat - jasper-runtime - - - ch.qos.reload4j - reload4j - - - org.slf4j - slf4j-reload4j - - - - - org.apache.hadoop - hadoop-mapreduce-client-core - ${hadoop.version} - test - - - ch.qos.reload4j - reload4j - - - org.slf4j - slf4j-reload4j - - - - - org.mock-server - mockserver-netty - 3.10.8 - test - - - org.mock-server - mockserver-client-java - 3.10.8 - test - diff --git a/flume-third-party/pom.xml b/flume-third-party/pom.xml index b92e7b5b22..be69bb4cb6 100644 --- a/flume-third-party/pom.xml +++ b/flume-third-party/pom.xml @@ -23,15 +23,17 @@ org.apache.flume flume-project 2.0.0-SNAPSHOT - ../pom.xml - org.apache.flume + flume-third-party-dependencies pom Apache Flume Third Party Dependencies + Bill of Materials (BOM) pinning the versions of the third-party dependencies used by Apache Flume. + Import it to keep the dependency versions of secondary repositories and downstream applications aligned with + those Flume is built and tested against. - 2009 + 2026 Apache Software Foundation @@ -53,6 +55,7 @@ 2.0.0-SNAPSHOT + 2.0.0-M2 1.5.0 1.22.0 3.2.2 @@ -63,6 +66,7 @@ 1.15.0 5.9.0 10.17.1.0 + 1.4.1 2.22 2.22.0 2.22.0 @@ -76,9 +80,13 @@ 6.1.0 12.1.9 3.0.2 + 4.13.2 + 5.12.2 2.26.0 0.9.9 2.2.8 + 5.18.0 + 3.10.8 4.9.3 4.2.15.Final 4.35.0 @@ -93,7 +101,14 @@ - + + + org.apache.directory.jdbm + apacheds-jdbm1 + ${apacheds-jdbm1.version} + test + + org.bouncycastle bc-jdk18on-bom @@ -102,7 +117,11 @@ import - + + org.apache.flume + build-support + ${flume-project.version} + commons-cli @@ -110,134 +129,67 @@ ${commons-cli.version} - - commons-logging - commons-logging - ${commons-logging.version} + commons-codec + commons-codec + ${commons-codec.version} - org.apache.commons - commons-lang3 - ${commons-lang.version} + commons-collections + commons-collections + ${commons-collections.version} org.apache.commons - commons-text - ${commons-text.version} - - - - com.google.guava - guava - ${guava.version} - - - - org.apache.logging.log4j - log4j-bom - ${log4j.version} - pom - import - - - - - org.slf4j - slf4j-bom - ${slf4j.version} - pom - import - - - - com.google.protobuf - protobuf-java - ${external.protobuf.version} - compile - - - - jakarta.servlet - jakarta.servlet-api - - ${jakarta-servlet.version} - provided - - - - org.eclipse.jetty.ee11 - jetty-ee11-servlet - ${jetty.version} - - - - org.eclipse.jetty - jetty-security - ${jetty.version} - - - - org.eclipse.jetty - jetty-util - ${jetty.version} - - - - org.eclipse.jetty - jetty-server - ${jetty.version} - - - - org.eclipse.jetty - jetty-jmx - ${jetty.version} + commons-compress + ${commons-compress.version} - org.apache.httpcomponents - httpclient - ${httpclient.version} + commons-io + commons-io + ${commons-io.version} - org.apache.httpcomponents - httpcore - ${httpcore.version} + org.apache.commons + commons-lang3 + ${commons-lang.version} + - org.mapdb - mapdb - ${mapdb.version} + commons-logging + commons-logging + ${commons-logging.version} - - com.google.code.gson - gson - ${gson.version} + org.apache.commons + commons-text + ${commons-text.version} + - commons-codec - commons-codec - ${commons-codec.version} + org.apache.curator + curator-framework + ${curator.version} - commons-io - commons-io - ${commons-io.version} + org.apache.curator + curator-recipes + ${curator.version} - commons-collections - commons-collections - ${commons-collections.version} + org.apache.curator + curator-test + ${curator.version} + test @@ -247,36 +199,12 @@ - com.fasterxml.jackson.core - jackson-annotations - ${jackson-annotations.version} - - - - com.fasterxml.jackson.core - jackson-core - ${fasterxml.jackson.version} - - - - com.fasterxml.jackson.core - jackson-databind - ${fasterxml.jackson.databind.version} - - - - org.schwering - irclib - ${irclib.version} - - - - com.jcraft - jzlib - ${zlib.version} + org.easytesting + fest-reflect + ${fest-reflect.version} + test - org.apache.flume flume-dependencies @@ -285,68 +213,44 @@ import + - org.apache.flume - build-support - ${flume-project.version} - - - - org.apache.commons - commons-compress - ${commons-compress.version} - - - - org.apache.mina - mina-core - ${mina.version} - - - - io.netty - netty-all - ${netty-all.version} - - - - io.prometheus - prometheus-metrics-core - ${prometheus.version} - - - - io.prometheus - prometheus-metrics-exporter-servlet-jakarta - ${prometheus.version} + com.google.code.gson + gson + ${gson.version} - org.xerial.snappy - snappy-java - ${snappy-java.version} + com.google.guava + guava + ${guava.version} - - org.apache.curator - curator-framework - ${curator.version} + org.apache.hadoop + hadoop-annotations + ${hadoop.version} - - org.apache.curator - curator-recipes - ${curator.version} + org.apache.hadoop + hadoop-auth + ${hadoop.version} + + + ch.qos.reload4j + reload4j + + + org.slf4j + slf4j-reload4j + + - - org.apache.curator - curator-test - ${curator.version} - test + org.apache.hadoop + hadoop-client + ${hadoop.version} - org.apache.hadoop hadoop-common @@ -371,6 +275,11 @@ + + org.apache.hadoop + hadoop-distcp + ${hadoop.version} + org.apache.hadoop hadoop-hdfs @@ -405,6 +314,22 @@ + + org.apache.hadoop + hadoop-mapreduce-client-core + ${hadoop.version} + test + + + ch.qos.reload4j + reload4j + + + org.slf4j + slf4j-reload4j + + + org.apache.hadoop hadoop-minicluster @@ -431,18 +356,9 @@ org.apache.hadoop - hadoop-client - ${hadoop.version} - - - org.apache.hadoop - hadoop-annotations - ${hadoop.version} - - - org.apache.hadoop - hadoop-auth + hadoop-minikdc ${hadoop.version} + test ch.qos.reload4j @@ -452,12 +368,215 @@ org.slf4j slf4j-reload4j + + + org.apache.directory.jdbm + apacheds-jdbm1 + + - org.apache.hadoop - hadoop-distcp - ${hadoop.version} + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + org.apache.httpcomponents + httpcore + ${httpcore.version} + + + + org.schwering + irclib + ${irclib.version} + + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson-annotations.version} + + + + com.fasterxml.jackson.core + jackson-core + ${fasterxml.jackson.version} + + + + com.fasterxml.jackson.core + jackson-databind + ${fasterxml.jackson.databind.version} + + + + jakarta.servlet + jakarta.servlet-api + + ${jakarta-servlet.version} + provided + + + + org.eclipse.jetty.ee11 + jetty-ee11-servlet + ${jetty.version} + + + + org.eclipse.jetty + jetty-jmx + ${jetty.version} + + + + org.eclipse.jetty + jetty-security + ${jetty.version} + + + + org.eclipse.jetty + jetty-server + ${jetty.version} + + + + org.eclipse.jetty + jetty-util + ${jetty.version} + + + + + com.google.code.findbugs + jsr305 + ${jsr305.version} + + + + junit + junit + ${junit.version} + + + + org.junit.jupiter + junit-jupiter-api + ${junit-jupiter.version} + test + + + + org.junit.jupiter + junit-jupiter-engine + ${junit-jupiter.version} + test + + + + org.junit.vintage + junit-vintage-engine + ${junit-jupiter.version} + test + + + + com.jcraft + jzlib + ${zlib.version} + + + + org.apache.logging.log4j + log4j-bom + ${log4j.version} + pom + import + + + + org.mapdb + mapdb + ${mapdb.version} + + + + org.apache.mina + mina-core + ${mina.version} + + + + org.mockito + mockito-core + ${mockito.version} + test + + + + org.mock-server + mockserver-client-java + ${mockserver.version} + test + + + + org.mock-server + mockserver-netty + ${mockserver.version} + test + + + + io.netty + netty-all + ${netty-all.version} + + + + io.prometheus + prometheus-metrics-core + ${prometheus.version} + + + + io.prometheus + prometheus-metrics-exporter-servlet-jakarta + ${prometheus.version} + + + + com.google.protobuf + protobuf-java + ${external.protobuf.version} + compile + + + + + org.slf4j + slf4j-bom + ${slf4j.version} + pom + import + + + + org.xerial.snappy + snappy-java + ${snappy-java.version} + + + + com.github.stefanbirkner + system-rules + ${system-rules.version} + test @@ -471,13 +590,6 @@ - - - - com.google.code.findbugs - jsr305 - ${jsr305.version} -