microsoft / microsoft/winget-pkgs
[New Feature]: Validation only dependency
- Dominant language
- No language data
- Stars
- 11.1k
- Forks
- 9.7k
- PR merge metrics
- PR metrics pending
Description
### Description of the new feature/enhancement
There are cases that submitted package depends on other packages while they *don't* want it to be resolved during `winget install` phase.
Let's say I have a component depends on Java but I want the user to choose JRE/JDK including which provider's, so that the package providers can preserve endusers environment as much as they can while minimizing the installation footprint.
As far as I know, what we can do now is either:
(1) include a small JRE made with jlink, with additional 50-80MB footprint
(2) specify the JRE/JDK as dependency anyway, with additional 300MB footprint
(3) let the validation fail and explain that it is intended, to a moderator to pass the validation, or
(4) explicitly ask enduser to use `--skip-dependencies` option for winget
My proposal is:
(5) specify dependencies only validation for automated package validation and winget do not install them during winget install, but it might be a good idea to print the validation dependency to the user
### Proposed technical implementation details (optional)
It requires:
- new manifest schema
- validation hook
optionally:
- winget prints validation dependency, or
- winget option to `--include-validation-dependencies` or something.
Contributor guide
Research direction
The issue does not name files, tests, or existing entry points. Start by tracing the manifest schema and automated validation flow, then inspect how winget resolves dependencies during install; done would require an agreed schema and validation behavior, with installation behavior and any user-facing output covered by tests.
Written by the indexing model from the issue text.
Assessment
- Domain
- cli, tooling
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100