Building Parquet directly from the ASF source distribution cannot obtain the Git revision because the archive contains no .git metadata. Maven records a null buildNumber, leaving the placeholder unresolved in generated version information.
Reproduction
Download and extract the source tarball from the 1.18.0 RC1 directory, then run:
./mvnw -f parquet-generator/pom.xml package -DskipTests
tmp_dir=$(mktemp -d)
java -cp parquet-generator/target/parquet-generator-1.18.0.jar \
org.apache.parquet.version.VersionGenerator "$tmp_dir"
grep FULL_VERSION "$tmp_dir/org/apache/parquet/Version.java"
Result:
parquet-mr version 1.18.0 (build ${buildNumber})
The JAR manifest’s git-SHA-1 entry is also blank. In contrast, the staged Maven JARs correctly contain RC1 commit 5e2ad0969c7f411613671c5ef054d399995de5f9.
This also reproduces with the official 1.17.0 source distribution, while the published 1.17.0 Maven JARs correctly contain release commit fac0c746532e133beb928a7f6a7e57b510b477a1. Therefore, this predates 1.18.0 and is not an RC1 regression.
Impact
Source-built artifacts have incomplete or misleading provenance:
Version.FULL_VERSION contains the unresolved placeholder.
- Parquet files written by those artifacts may include it in
created_by.
- The manifest lacks the Git SHA.
- Source-built and staged artifacts report different build identities.
The build should embed the release commit or use an explicit fallback rather than emitting an unresolved Maven expression.
Relevant source: parquet-version.properties.
Building Parquet directly from the ASF source distribution cannot obtain the Git revision because the archive contains no
.gitmetadata. Maven records a nullbuildNumber, leaving the placeholder unresolved in generated version information.Reproduction
Download and extract the source tarball from the 1.18.0 RC1 directory, then run:
Result:
The JAR manifest’s
git-SHA-1entry is also blank. In contrast, the staged Maven JARs correctly contain RC1 commit5e2ad0969c7f411613671c5ef054d399995de5f9.This also reproduces with the official 1.17.0 source distribution, while the published 1.17.0 Maven JARs correctly contain release commit
fac0c746532e133beb928a7f6a7e57b510b477a1. Therefore, this predates 1.18.0 and is not an RC1 regression.Impact
Source-built artifacts have incomplete or misleading provenance:
Version.FULL_VERSIONcontains the unresolved placeholder.created_by.The build should embed the release commit or use an explicit fallback rather than emitting an unresolved Maven expression.
Relevant source:
parquet-version.properties.