microsoft / microsoft/winget-pkgs

[New Feature]: Validation only dependency

Open
#388,566 9 comments 0 reactions 0 assignees View on GitHub
Issue-Feature
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.