You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-commits@hadoop.apache.org by st...@apache.org on 2026/09/06 14:10:00 UTC
(hadoop) 04/04: HADOOP-19976. Reproducible builds: maven-assembly-plugin 2.4 -> 3.8.0.
This is an automated email from the ASF dual-hosted git repository.
steveloughran pushed a commit to branch build/HADOOP-19976-reproducible
in repository https://gitbox.apache.org/repos/asf/hadoop.git
commit 03832dc324ec8f707243bbf560ccded2465639e7
Author: Steve Loughran <st...@apache.org>
AuthorDate: Sun Sep 6 14:13:10 2026 +0100
HADOOP-19976. Reproducible builds: maven-assembly-plugin 2.4 -> 3.8.0.
Inherit maven-assembly-plugin 3.8.0 from the ASF parent instead of
pinning 2.4, which predates reproducible-build support. Under
-Prepeatable the plugin now normalises tar entry timestamps, ownership
and ordering, making hadoop-<version>-src.tar.gz byte-identical across
builds.
* Delete the 2.4 pin and its version-only pluginManagement entry.
* timelineservice-hbase-server-2: wrap <descriptor> in <descriptors>.
The singular form was removed in assembly 3.x and fails the build
with "No assembly descriptors found".
* hadoop-src.xml: exclude dependency-reduced-pom.xml, .idea, .claude
and *.versionsBackup, and add the recursive form of the .settings
exclude, which pruned only the directory entry and not its contents.
Removes 479 untracked files from the source tarball.
* .gitignore: ignore /.claude/.
Binary tarball gains bcprov-jdk18on (test scope, hadoop-hdfs) and
hadoop-annotations (provided scope, tools-dist and dynamometer-dist):
assembly >= 3.7 admits non-runtime artifacts into a runtime
dependencySet. Both are already in LICENSE-binary and duplicate jars
that ship elsewhere at the same version, so this is redundancy rather
than a version conflict.
AI-Authored claude.ai
---
.gitignore | 1 +
hadoop-assemblies/src/main/resources/assemblies/hadoop-src.xml | 8 ++++++++
.../hadoop-yarn-server-timelineservice-hbase-server-2/pom.xml | 4 +++-
pom.xml | 10 ++--------
4 files changed, 14 insertions(+), 9 deletions(-)
diff --git a/.gitignore b/.gitignore
index 8e20dcd0ccd..bc01c391edf 100644
--- a/.gitignore
+++ b/.gitignore
@@ -62,3 +62,4 @@ output.xml
report.html
.mvn/wrapper/maven-wrapper.jar
+/.claude/
diff --git a/hadoop-assemblies/src/main/resources/assemblies/hadoop-src.xml b/hadoop-assemblies/src/main/resources/assemblies/hadoop-src.xml
index 7895f4e5714..a1bc67c149d 100644
--- a/hadoop-assemblies/src/main/resources/assemblies/hadoop-src.xml
+++ b/hadoop-assemblies/src/main/resources/assemblies/hadoop-src.xml
@@ -43,6 +43,8 @@
<excludes>
<exclude>.git/**</exclude>
<exclude>**/.gitignore</exclude>
+ <!-- written by the shade plugin into the module dir, not target/ -->
+ <exclude>**/dependency-reduced-pom.xml</exclude>
<exclude>**/.svn</exclude>
<exclude>**/*.iws</exclude>
<exclude>**/*.ipr</exclude>
@@ -50,6 +52,12 @@
<exclude>**/.classpath</exclude>
<exclude>**/.project</exclude>
<exclude>**/.settings</exclude>
+ <!-- the bare directory name above prunes only the entry, not its
+ contents, so each of these needs the recursive form -->
+ <exclude>**/.settings/**</exclude>
+ <exclude>**/.idea/**</exclude>
+ <exclude>**/.claude/**</exclude>
+ <exclude>**/*.versionsBackup</exclude>
<exclude>**/target/**</exclude>
<!-- until the code that does this is fixed -->
<exclude>**/*.log</exclude>
diff --git a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-2/pom.xml b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-2/pom.xml
index 03de52c14c5..2ddc0b3c007 100644
--- a/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-2/pom.xml
+++ b/hadoop-yarn-project/hadoop-yarn/hadoop-yarn-server/hadoop-yarn-server-timelineservice-hbase/hadoop-yarn-server-timelineservice-hbase-server/hadoop-yarn-server-timelineservice-hbase-server-2/pom.xml
@@ -201,7 +201,9 @@
<goal>single</goal>
</goals>
<configuration>
- <descriptor>src/assembly/coprocessor.xml</descriptor>
+ <descriptors>
+ <descriptor>src/assembly/coprocessor.xml</descriptor>
+ </descriptors>
<attach>true</attach>
</configuration>
</execution>
diff --git a/pom.xml b/pom.xml
index 147935fe0a7..8b373138d47 100644
--- a/pom.xml
+++ b/pom.xml
@@ -117,7 +117,6 @@ child.project.url.inherit.append.path="false">
<maven-site-plugin.version>3.9.1</maven-site-plugin.version>
<maven-stylus-skin.version>1.5</maven-stylus-skin.version>
<maven-antrun-plugin.version>1.7</maven-antrun-plugin.version>
- <maven-assembly-plugin.version>2.4</maven-assembly-plugin.version>
<maven-dependency-plugin.version>3.8.1</maven-dependency-plugin.version>
<maven-enforcer-plugin.version>3.5.0</maven-enforcer-plugin.version>
<restrict-imports.enforcer.version>2.0.0</restrict-imports.enforcer.version>
@@ -166,8 +165,8 @@ child.project.url.inherit.append.path="false">
java version its own enforcer execution requires -->
<javaVersion>${javac.version}</javaVersion>
<minimalMavenBuildVersion>${enforced.maven.version}</minimalMavenBuildVersion>
- <!-- The parent's default of posix is rejected by maven-assembly-plugin 2.4;
- gnu is valid in both and is what the dist descriptors already set. -->
+ <!-- What the dist descriptors already set; keeps tar headers unchanged
+ from the 2.4 output rather than switching to the parent's posix. -->
<assembly.tarLongFileMode>gnu</assembly.tarLongFileMode>
<!-- Fixed instant recorded in artifacts built with -Prepeatable; the
@@ -392,11 +391,6 @@ child.project.url.inherit.append.path="false">
</execution>
</executions>
</plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-assembly-plugin</artifactId>
- <version>${maven-assembly-plugin.version}</version>
- </plugin>
<plugin>
<groupId>org.apache.rat</groupId>
<artifactId>apache-rat-plugin</artifactId>
---------------------------------------------------------------------
To unsubscribe, e-mail: common-commits-unsubscribe@hadoop.apache.org
For additional commands, e-mail: common-commits-help@hadoop.apache.org