[Bug] CI build script accepts flags as values for required options
- Lingua principale
- C++
- Stelle
- 65
- Fork
- 25
- Merge medio
- 2g 12h
- PR unite (30g)
- 80
Descrizione
### 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!
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da ci/scripts/build_paimon.sh e riproduci i comandi elencati per tracciare come vengono convalidati i valori delle opzioni obbligatorie e --build_type. Aggiungi una copertura a livello di script per i valori mancanti o simili a opzioni e per i tipi di build non supportati; il lavoro è completato quando gli argomenti non validi falliscono prima che vengano invocate le directory di build o CMake, mentre i quattro tipi di build CMake elencati continuano a essere accettati.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cmake, shell
- Ambito
- build-system, cli
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Attiva
- Chiarezza
- Specificata chiaramente
- Idoneità per principianti
- 74/100