[Bug] CI build script accepts flags as values for required options
- Ngôn ngữ chính
- C++
- Star
- 65
- Fork
- 25
- Merge trung bình
- 2 ngày 12 giờ
- Pull request đã merge (30 ngày)
- 80
Mô tả
### 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!
Hướng dẫn đóng góp
Hướng nghiên cứu
Bắt đầu với ci/scripts/build_paimon.sh và chạy lại các lệnh được liệt kê để theo dõi cách các giá trị tùy chọn bắt buộc và --build_type được xác thực. Thêm kiểm thử ở cấp script cho các giá trị bị thiếu hoặc có dạng giống tùy chọn và các kiểu build không được hỗ trợ; công việc được xem là hoàn tất khi các đối số không hợp lệ thất bại trước khi các thư mục build hoặc CMake được gọi, trong khi bốn kiểu build CMake được liệt kê vẫn được chấp nhận.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Đánh giá
- Công nghệ
- cmake, shell
- Lĩnh vực
- build-system, cli
- Loại issue
- Lỗi
- Độ khó
- 3/5
- Thời gian dự kiến
- 1-2 ngày
- Mức độ hoạt động
- Sôi nổi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức phù hợp với người mới
- 74/100