refactor(backend): parse tool options per backend#9838
Conversation
There was a problem hiding this comment.
Code Review
This pull request standardizes backend option handling by introducing a BackendOptions wrapper and refactoring the Aqua, GitHub, HTTP, S3, and Ubi backends to use specialized option structs. This change improves code consistency and simplifies option retrieval across different backend implementations. Feedback suggests further improving the BackendOptions utility by adding a platform_bool helper, which would allow the no_app option to be configured on a per-platform basis.
Greptile SummaryThis PR centralizes backend tool-option reads behind a new
Confidence Score: 5/5Safe to merge — the change is a mechanical refactor that preserves existing option-reading semantics, with two intentional and clearly scoped behavior fixes. All changed code paths were traced through the underlying ToolVersionOptions accessors. The typed wrappers faithfully delegate to the same lookup functions as before, and the two documented behavior changes are correct and well-tested. No regressions were found. No files require special attention. Important Files Changed
Reviews (5): Last reviewed commit: "refactor(backend): split non-git option ..." | Re-trigger Greptile |
### 🐛 Bug Fixes - **(s3)** support SSO-based AWS profiles by enabling aws-config sso feature by @Amir-Ahmad in [#9875](#9875) ### 🚜 Refactor - **(backend)** parse tool options per backend by @risu729 in [#9838](#9838) ### 📦️ Dependency Updates - update rust crate sha2 to 0.11 by @renovate[bot] in [#9885](#9885) - update ghcr.io/jdx/mise:alpine docker digest to 1a653b5 by @renovate[bot] in [#9890](#9890) - update ghcr.io/jdx/mise:rpm docker digest to 7880c74 by @renovate[bot] in [#9892](#9892) - update ghcr.io/jdx/mise:deb docker digest to a6fe62d by @renovate[bot] in [#9891](#9891) - update rust docker digest to 39d8cb3 by @renovate[bot] in [#9899](#9899) ### New Contributors - @Amir-Ahmad made their first contribution in [#9875](#9875)
Summary
BackendOptionsreader for raw and platform-scoped backend tool options.ToolVersionOptions.Backend::option_specs()metadata changes to a later PR.Project item
Behavior notes
no_appis now read through target-aware platform option lookup, soplatforms.<target>.no_appworks for cross-platform lock resolution.Review
Verification
cargo fmt --all -- --checkgit diff --check upstream/main...HEADfda4e0227after narrowing the PR scope.This PR was updated by an AI coding assistant.