From 69575de5e068562d9e6db704791aadb70a9c7e9c Mon Sep 17 00:00:00 2001 From: "Piotr P. Karwasz" Date: Wed, 22 Jul 2026 10:53:24 +0200 Subject: [PATCH] Migrate `flume-project` hierarchy to `logging-parent` Flume requires two POM hierarchies: - `flume-dependencies` and `flume-third-party-dependencies` are published flattened, so their common metadata can live in the aggregator `flume-project`, which is **not** published. - `flume-parent` is reused by satellite repositories, so it **needs** to be published. To avoid an excessive inheritance chain, it extends `logging-parent` directly instead of `flume-project`. Assisted-By: Claude Fable 5 --- flume-bom/.logging-parent-bom-activator | 2 + flume-bom/pom.xml | 52 +--- .../.logging-parent-bom-activator | 2 + flume-third-party/pom.xml | 72 +---- pom.xml | 247 ++++-------------- 5 files changed, 77 insertions(+), 298 deletions(-) create mode 100644 flume-bom/.logging-parent-bom-activator create mode 100644 flume-third-party/.logging-parent-bom-activator diff --git a/flume-bom/.logging-parent-bom-activator b/flume-bom/.logging-parent-bom-activator new file mode 100644 index 0000000000..8080fdb96d --- /dev/null +++ b/flume-bom/.logging-parent-bom-activator @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: Apache-2.0 +# Marker file to activate BOM flattening diff --git a/flume-bom/pom.xml b/flume-bom/pom.xml index 67f840d200..9477ac6d16 100644 --- a/flume-bom/pom.xml +++ b/flume-bom/pom.xml @@ -22,16 +22,22 @@ org.apache.flume flume-project - 2.0.0-SNAPSHOT + ${revision} - org.apache.flume + flume-dependencies pom - Apache Flume Artifacts + Apache Flume BOM + Bill of materials (BOM) of Apache Flume. + It provides a coherent set of versions for all Apache Flume artifacts in the official distribution. - + + false + false + + 2.0.0-SNAPSHOT 2.0.0-SNAPSHOT 2.0.0-SNAPSHOT 2.0.0-SNAPSHOT @@ -235,42 +241,4 @@ - - - - - - org.codehaus.mojo - flatten-maven-plugin - 1.7.3 - - - flatten-bom - - flatten - - process-resources - false - - true - bom - - resolve - flatten - - - - - - flatten.clean - - clean - - - - - - - - diff --git a/flume-third-party/.logging-parent-bom-activator b/flume-third-party/.logging-parent-bom-activator new file mode 100644 index 0000000000..8080fdb96d --- /dev/null +++ b/flume-third-party/.logging-parent-bom-activator @@ -0,0 +1,2 @@ +# SPDX-License-Identifier: Apache-2.0 +# Marker file to activate BOM flattening diff --git a/flume-third-party/pom.xml b/flume-third-party/pom.xml index b92e7b5b22..736b4afa9e 100644 --- a/flume-third-party/pom.xml +++ b/flume-third-party/pom.xml @@ -22,37 +22,21 @@ org.apache.flume flume-project - 2.0.0-SNAPSHOT - ../pom.xml + ${revision} - org.apache.flume + flume-third-party-dependencies pom Apache Flume Third Party Dependencies - - 2009 - - - Apache Software Foundation - http://www.apache.org - - - - - The Apache Software License, Version 2.0 - http://www.apache.org/licenses/LICENSE-2.0.txt - - - - - scm:git:http://git-wip-us.apache.org/repos/asf/flume.git - scm:git:https://git-wip-us.apache.org/repos/asf/flume.git - https://git-wip-us.apache.org/repos/asf?p=flume.git;a=tree;h=refs/heads/trunk;hb=trunk - + Bill of materials (BOM) for the third-party dependencies of Apache Flume. + It matches the versions of the runtime dependencies used by the corresponding `flume-dependencies` artifacts. - 2.0.0-SNAPSHOT + + false + false + 1.5.0 1.22.0 3.2.2 @@ -280,7 +264,7 @@ org.apache.flume flume-dependencies - ${flume-project.version} + ${project.version} pom import @@ -288,7 +272,7 @@ org.apache.flume build-support - ${flume-project.version} + ${project.version} @@ -481,40 +465,4 @@ - - - - - - org.codehaus.mojo - flatten-maven-plugin - 1.7.3 - - - flatten-bom - - flatten - - process-resources - false - - true - bom - - resolve - flatten - - - - - - flatten.clean - - clean - - - - - - diff --git a/pom.xml b/pom.xml index 1c2e2ca743..30a1ef6b3a 100644 --- a/pom.xml +++ b/pom.xml @@ -15,21 +15,46 @@ ~ See the License for the specific language governing permissions and ~ limitations under the License. --> - + 4.0.0 - org.apache - apache - 23 + org.apache.logging + logging-parent + 12.1.1 + + org.apache.flume flume-project - 2.0.0-SNAPSHOT + ${revision} pom Apache Flume Project + Aggregator for the main Apache Flume repository. + This artifact is not published to Maven Central. + https://logging.apache.org/flume/2.x/index.html + + 2009 + + + + + flume-users + flume-users-subscribe@logging.apache.org + flume-users-unsubscribe@logging.apache.org + flume-users@logging.apache.org + https://lists.apache.org/list.html?flume-users@logging.apache.org + + + dev + dev-subscribe@logging.apache.org + dev-unsubscribe@logging.apache.org + dev@logging.apache.org + https://lists.apache.org/list.html?dev@logging.apache.org + + flume-bom @@ -53,199 +78,33 @@ flume-ng-configfilters - - 3.4.0 - 2.90.0 - + + scm:git:https://gitbox.apache.org/repos/asf/logging-flume.git + scm:git:https://gitbox.apache.org/repos/asf/logging-flume.git + rel/${revision} + https://gitbox.apache.org/repos/asf/logging-flume.git + - - - + + GitHub Issues + https://github.com/apache/logging-flume/issues + - - com.diffplug.spotless - spotless-maven-plugin - ${spotless-maven-plugin.version} - + + GitHub Actions + https://github.com/apache/logging-flume/actions + - - - - + + 2.0.0-SNAPSHOT - - - com.diffplug.spotless - spotless-maven-plugin - - - - - /* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to you under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - - - ${palantir-java-format.version} - - - - - - <?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one or more - ~ contributor license agreements. See the NOTICE file distributed with - ~ this work for additional information regarding copyright ownership. - ~ The ASF licenses this file to you under the Apache License, Version 2.0 - ~ (the "License"); you may not use this file except in compliance with - ~ the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - <project - - - false - - true - - - - - - src/**/*.xml - - - - src/changelog/**/*.xml - - - - <?xml version="1.0" encoding="UTF-8"?> -<!-- - ~ Licensed to the Apache Software Foundation (ASF) under one or more - ~ contributor license agreements. See the NOTICE file distributed with - ~ this work for additional information regarding copyright ownership. - ~ The ASF licenses this file to you under the Apache License, Version 2.0 - ~ (the "License"); you may not use this file except in compliance with - ~ the License. You may obtain a copy of the License at - ~ - ~ http://www.apache.org/licenses/LICENSE-2.0 - ~ - ~ Unless required by applicable law or agreed to in writing, software - ~ distributed under the License is distributed on an "AS IS" BASIS, - ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - ~ See the License for the specific language governing permissions and - ~ limitations under the License. - --> - <(!DOCTYPE|\w) - - - - - - - src/**/*.properties - - - - # -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to you under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - (##|[^#]) - - - - - - - .asf.yaml - .github/**/*.yaml - .github/**/*.yml - src/**/*.yaml - src/**/*.yml - - - - # -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to you under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - (##|[^#]) - - - - - UNIX - - - - - com.palantir.javaformat - palantir-java-format - ${palantir-java-format.version} - - - - - default-spotless - - check - - verify - - - + + 2026-01-01T00:00:00Z - - + + true + true +