Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Source-distribution builds leave `${buildNumber}` unresolved in version metadata

Open
#3,682 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Quiet
Tech stack
git, java

Research direction

Start with parquet-generator/src/main/resources/parquet-version.properties and reproduce the issue with the provided ./mvnw command and VersionGenerator invocation. Inspect the generated Version.java and JAR manifest; done means source-distribution builds no longer emit the unresolved ${buildNumber} placeholder and include the appropriate build identity.

Written by the indexing model from the issue text.

Description

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.

Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
4d 12h
Merged PRs (30d)
28

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from apache/parquet-java

All issues in apache/parquet-java

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.