apache / apache/parquet-java

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

オープン
#3,682 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Java
スター
3.1k
フォーク
1.6k
平均マージ
3日 12時間
マージ済み PR(30日)
33

説明

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](https://dist.apache.org/repos/dist/dev/parquet/apache-parquet-1.18.0-rc1/), then run:

```bash
./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:

```text
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](https://repository.apache.org/content/repositories/orgapacheparquet-1081/org/apache/parquet/) correctly contain RC1 commit [`5e2ad0969c7f411613671c5ef054d399995de5f9`](https://github.com/apache/parquet-java/commit/5e2ad0969c7f411613671c5ef054d399995de5f9).

This also reproduces with the official [1.17.0 source distribution](https://archive.apache.org/dist/parquet/apache-parquet-1.17.0/), 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`](https://github.com/apache/parquet-java/blob/apache-parquet-1.18.0-rc1/parquet-generator/src/main/resources/parquet-version.properties).

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

parquet-generator/src/main/resources/parquet-version.properties から始め、提供されている ./mvnw コマンドと VersionGenerator の呼び出しで問題を再現します。生成された Version.java と JAR マニフェストを調べます。source-distribution ビルドで未解決の ${buildNumber} プレースホルダーが出力されず、適切な build identity が含まれるようになれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
git, java
領域
build-system, release
issue の種類
バグ
難易度
3/5
見積もり時間
1〜2日
活発さ
静か
明瞭さ
おおむね明確
初心者へのやさしさ
55/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。