[Bug] CI build script accepts flags as values for required options
- 主要語言
- C++
- 星號
- 65
- 分支
- 25
- 平均合併
- 2 天 12 小時
- 30 天內合併 PR
- 80
描述
### Search before asking
- [x] I searched in the [issues](https://github.com/apache/paimon-cpp/issues) and found nothing similar.
### Paimon-cpp version
### Paimon version
Current `main` branch.
### Minimal reproduce step
Run one of the following commands:
```bash
ci/scripts/build_paimon.sh --source_dir --enable_asan
ci/scripts/build_paimon.sh \
--source_dir . \
--build_type --enable_asan
ci/scripts/build_paimon.sh \
--source_dir . \
--lint_git_target_commit --enable_asan
```
The script treats the following option as the value of the preceding option and continues until a later command fails or CMake is invoked with an invalid value.
The script also accepts unsupported build types:
```
ci/scripts/build_paimon.sh \
--source_dir . \
--build_type Profile
```
### What doesn't meet your expectations?
Options that require a value should reject an empty value or another `--option` with a clear error message.
The `--build_type` option should only accept the standard CMake build types used by the project:
- `Debug`
- `Release`
- `RelWithDebInfo`
- `MinSizeRel`
Invalid arguments should be rejected before creating build directories or invoking CMake.
The argument validation behavior is currently not covered by dedicated script-level tests.
### Anything else?
_No response_
### Are you willing to submit a PR?
- [x] I'm willing to submit a PR!
貢獻指南
研究方向
從 ci/scripts/build_paimon.sh 開始,重現列出的命令,以追蹤必要的選項值和 --build_type 如何進行驗證。為缺少的值、看起來像選項的值,以及不受支援的建置類型新增腳本層級的涵蓋;完成的標準是無效引數在呼叫建置目錄或 CMake 之前失敗,同時列出的四種 CMake 建置類型仍維持接受。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- cmake, shell
- 領域
- build-system, cli
- Issue 類型
- 缺陷
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 活躍度
- 活躍
- 描述清晰度
- 描述清楚
- 新手友好度
- 74/100