refactor(core): parse plugin tool options locally#9963
Conversation
Greptile SummaryThis PR refactors how plugin-specific tool options are parsed by introducing typed wrapper structs (
Confidence Score: 5/5Safe to merge — all changes are refactors or bug fixes with no removed behaviour, backed by new unit tests for every touched code path. Every changed code path has an explicit before/after test. The only observable behaviour changes are intentional improvements: case-insensitive bool parsing, a warning on invalid values, fixing the Python patch_sysconfig TOML-bool silent no-op, and whitespace trimming in Rust's comma_list. No external contracts are broken. No files require special attention. Important Files Changed
Reviews (8): Last reviewed commit: "refactor(core): expose optional boolean ..." | Re-trigger Greptile |
There was a problem hiding this comment.
Code Review
This pull request refactors the dotnet, java, python, and rust core plugins to utilize structured option types—DotnetOptions, JavaOptions, PythonOptions, and RustOptions—for handling tool-specific configuration. This replaces manual retrieval from raw tool options with a more unified and testable approach. Unit tests were also introduced for each new options struct to verify correct behavior. I have no feedback to provide.
|
CI note: the This comment was generated by an AI coding assistant. |
|
CI note: This comment was generated by an AI coding assistant. |
3bb98db to
c6fb99a
Compare
### 🚀 Features - **(cli)** rename before flag to minimum release age by @risu729 in [#9768](#9768) - **(core)** deprecate default package files by @jdx in [#9970](#9970) - **(edit)** add --global flag for editing the global config file by @fru1tworld in [#9953](#9953) ### 🐛 Bug Fixes - **(aqua)** support cosign public-key bundles by @jdx in [#9972](#9972) - **(backend)** pass install_env to postinstall by @risu729 in [#9930](#9930) - **(backend)** apply install_env to install commands by @risu729 in [#9929](#9929) - **(cargo)** skip binstall for cargo install options by @risu729 in [#9928](#9928) - **(config)** restore MISE_ENV_FILE setting by @risu729 in [#9903](#9903) ### 🚜 Refactor - **(cli)** use tool wording in version env help by @risu729 in [#9906](#9906) - **(conda)** parse tool options locally by @risu729 in [#9960](#9960) - **(core)** parse plugin tool options locally by @risu729 in [#9963](#9963) - **(go)** parse tool options locally by @risu729 in [#9961](#9961) - **(http)** parse tool options locally by @risu729 in [#9870](#9870) ### 📦️ Dependency Updates - lock file maintenance by @renovate[bot] in [#9954](#9954) - lock file maintenance by @renovate[bot] in [#9957](#9957) ### 📦 Registry - use aqua backend for qsv by @risu729 in [#9910](#9910) ### Ci - build/publish snap package for arm64 by @jnsgruk in [#9948](#9948) ### New Contributors - @jnsgruk made their first contribution in [#9948](#9948) ## 📦 Aqua Registry Updates ### New Packages (2) - [`AOMediaCodec/libavif`](https://github.com/AOMediaCodec/libavif) - [`julian7/redact`](https://github.com/julian7/redact) ### Updated Packages (1) - [`apache/jena`](https://github.com/apache/jena)
## Summary - add a direct .NET backend typed option reader for prerelease - route prerelease filtering through the shared boolean option parser while preserving the legacy package flag fallback - add unit coverage for prerelease option parsing ## Verification - cargo fmt --check - git diff --check - cargo test dotnet_options_reads_prerelease Stacked on #9963. Target branch remains the default branch. Project: https://github.com/users/risu729/projects/3/views/1?pane=issue&itemId=185472417
Summary
Verification
Notes:
Project: https://github.com/users/risu729/projects/3/views/1?pane=issue&itemId=185472417