Skip to content

Commit

Permalink
Merge branch 'microsoft:master' into master
Browse files Browse the repository at this point in the history
  • Loading branch information
step-ci authored Sep 13, 2024
2 parents d66d5db + a82fdcf commit faf189e
Show file tree
Hide file tree
Showing 23,270 changed files with 468,355 additions and 142,304 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
1 change: 1 addition & 0 deletions .github/actions/spelling/allow.txt
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ tada
Testplan
toolset
ubuntu
uninstaller
uninstalls
upvote
versioning
Expand Down
11 changes: 0 additions & 11 deletions .github/policies/automergeTriggers.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,16 +19,5 @@ configuration:
then:
- enableAutoMerge:
mergeMethod: Squash
- description: Disable Auto Merge when the "Validation-Completed" label is not present
if:
- payloadType: Pull_Request
- or:
- labelRemoved:
label: Validation-Completed
- not:
hasLabel:
label: Validation-Completed
then:
- disableAutoMerge
onFailure:
onSuccess:
8 changes: 4 additions & 4 deletions Tools/Auth.csv
Original file line number Diff line number Diff line change
Expand Up @@ -74,7 +74,7 @@ vedantmgoyal.sheltasks-cli,vedantmgoyal2009,must
Visual Studio,Microsoft,must
WerWolv.ImHex,WerWolv,should
yetone.OpenAITranslator,yetone,should
DuckStudio.FufuTools,DuckDuckStudio,should
DuckStudio.FufuDevTools,Luna-Grace,should
DuckStudio.ChineseGit,Luna-Grace,should
DuckStudio.GitHubLabelsManager,DuckDuckStudio,should
DuckStudio.FufuTools,DuckDuckStudio,must
DuckStudio.FufuDevTools,Luna-Grace,must
DuckStudio.ChineseGit,Luna-Grace,must
DuckStudio.GitHubLabelsManager,DuckDuckStudio,must
1 change: 1 addition & 0 deletions doc/manifest/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ As new releases of the WinGet client are developed with new features and functio
The community repository will often delay support for new schema versions until enough devices have been updated so customers can benefit from the newly added manifest keys. Please use the recommended schema version mentioned in the PR template.

## Manifest Schema Versions
* [1.7.0](schema/1.7.0/README.md)
* [1.6.0](schema/1.6.0/README.md)
* [1.5.0](schema/1.5.0/README.md)
* [1.4.0 (deprecated)](schema/1.4.0/README.md)
Expand Down
17 changes: 7 additions & 10 deletions doc/manifest/schema/1.6.0/installer.md
Original file line number Diff line number Diff line change
Expand Up @@ -51,10 +51,10 @@ Installers: # The list of package installers
Commands: # Optional commands or aliases to run the package
Protocols: # Optional list of protocols supported by the package
FileExtensions: # Optional list of file extensions supported by the package
Dependencies: # *Experimental* list of dependencies required by the package
Dependencies: # Optional list of dependencies required by the package
- ExternalDependencies: # *Not implemented* list of external dependencies
PackageDependencies: # *Experimental* list of package dependencies
WindowsFeatures: # *Not implemented* list of Windows feature dependencies
PackageDependencies: # Optional list of package dependencies
WindowsFeatures: # Optional list of Windows feature dependencies
WindowsLibraries: # *Not implemented* list of Windows library dependencies
PackageFamilyName: # Optional MSIX package family name
Capabilities: # Optional list of MSIX package capabilities
Expand Down Expand Up @@ -488,7 +488,7 @@ ManifestVersion: 1.6.0
This key represents any dependencies required to install or run the package.

> [!IMPORTANT]
The Windows Package Manager does not support any behavior related to dependencies.
External Dependencies are not supported. Package dependencies are referenced by their package identifier and must come from the same source. Windows Features may require a reboot before they are enabled. Windows Libraries are not supported.

> [!NOTE]
This key may be present in the root of the manifest as the default value for all installer nodes. This key may also be present in an individual installer node as well. If this key is in the manifest root and in an installer node, the value in the installer node will apply.
Expand All @@ -502,7 +502,7 @@ ManifestVersion: 1.6.0
This key represents any external dependencies required to install or run the package.

> [!IMPORTANT]
The Windows Package Manager does not support any behavior related to dependencies.
The Windows Package Manager does not support any behavior related to external dependencies.
</details>

<details>
Expand All @@ -513,7 +513,7 @@ ManifestVersion: 1.6.0
This key represents any packages from the same source required to install or run the package.

> [!IMPORTANT]
The Windows Package Manager does not support any behavior related to dependencies.
Dependencies are referenced by their package identifier and must come from the same source.
</details>

<details>
Expand All @@ -522,9 +522,6 @@ ManifestVersion: 1.6.0
**Optional Field**

This key represents any Windows features required to install or run the package.

> [!IMPORTANT]
The Windows Package Manager does not support any behavior related to dependencies.
</details>

<details>
Expand All @@ -535,7 +532,7 @@ ManifestVersion: 1.6.0
This key represents any Windows libraries required to install or run the package.

> [!IMPORTANT]
The Windows Package Manager does not support any behavior related to dependencies.
The Windows Package Manager does not support any behavior related to Windows Libraries.
</details>

<details>
Expand Down
6 changes: 3 additions & 3 deletions doc/manifest/schema/1.6.0/singleton.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,10 @@ Installers: # The package installer
Commands: # Optional commands or aliases to run the package
Protocols: # Optional list of protocols supported by the package
FileExtensions: # Optional list of file extensions supported by the package
Dependencies: # *Experimental* list of dependencies required by the package
Dependencies: # Optional list of dependencies required by the package
- ExternalDependencies: # *Not implemented* list of external dependencies
PackageDependencies: # *Experimental* list of package dependencies
WindowsFeatures: # *Not implemented* list of Windows feature dependencies
PackageDependencies: # Optional list of package dependencies
WindowsFeatures: # Optional list of Windows feature dependencies
WindowsLibraries: # *Not implemented* list of Windows library dependencies
PackageFamilyName: # Optional MSIX package family name
Capabilities: # Optional list of MSIX package capabilities
Expand Down
69 changes: 69 additions & 0 deletions doc/manifest/schema/1.7.0/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
[schemaFolder]: https://github.com/microsoft/winget-cli/tree/master/schemas/JSON/manifests/v1.7.0
[versionSchema]: https://github.com/microsoft/winget-cli/tree/master/schemas/JSON/manifests/v1.7.0/manifest.version.1.7.0.json
[defaultLocaleSchema]: https://github.com/microsoft/winget-cli/tree/master/schemas/JSON/manifests/v1.7.0/manifest.defaultLocale.1.7.0.json
[localeSchema]: https://github.com/microsoft/winget-cli/tree/master/schemas/JSON/manifests/v1.7.0/manifest.locale.1.7.0.json
[installerSchema]: https://github.com/microsoft/winget-cli/tree/master/schemas/JSON/manifests/v1.7.0/manifest.installer.1.7.0.json
[Windows Package Manager Manifest Creator]: https://github.com/microsoft/winget-create
[YAML Create]: https://github.com/microsoft/winget-pkgs/blob/master/Tools/YamlCreate.ps1

# Windows Package Manager

## Manifest Schema 1.7

The Windows Package Manager 1.7 client does not support all fields in the 1.7 schema.

The Windows Package Manager uses manifests (YAML files) to locate and install packages for Windows users. This specification provides references to JSON schemas as well as best practices.

Manifests submitted to the Windows Package Manager Community Repository should be submitted as a multi-file manifest. Only one version of a package may be submitted per pull request. The [singleton](singleton.md) manifest format is supported by the client, but has been deprecated in the community repository. Rich tooling exists to generate manifests. The [Windows Package Manager Manifest Creator] and [YAML Create] were both designed to produce well formed and rich manifests.

A multi-file manifest contains:
* One [version](version.md) ([JSON Schema][versionSchema]) file
* One [default locale](defaultLocale.md) ([JSON Schema][defaultLocaleSchema]) file
* One [installer](installer.md) ([JSON Schema][installerSchema]) file
* Additional optional [locale](locale.md) ([JSON Schema][localeSchema]) files

## YAML file name and folder structure
YAML files shall be added to the repository with the following folder structure:
manifests / p / publisher / package / packageVersion / publisher.package.&lt;manifestFile&gt;.yaml

Example:
`manifests/m/Microsoft/WindowsTerminal/1.9.1942/Microsoft.WindowsTerminal.installer.yaml`

* Manifests are partitioned by the first letter of the publisher name (in lower case). For example: m.
* Publisher folder is the name of the company that publishes the tool. For example: Microsoft.
* The child folder package is the name of the application or tool. For example: WindowsTerminal.
* The child folder package version is the version of the package. For example: 1.6.10571.0.
* The filename must be a combination of the publisher name and the application name. For example: Microsoft.WindowsTerminal.yaml.

The publisher and application folders MUST match the values used to define the Id. See PackageIdentifier: in the YAML for more detail.
The version in the folder name MUST match the version field value in the YAML file. See PackageVersion: in the YAML for more detail.

There are two primary types of manifests. A single file manifest (singleton) and a multi-file manifest.
[JSON schemas][schemaFolder] have been provided
to help strongly type attributes and requirements.

## YAML Syntax
Each field in the file must be PascalCased and cannot be duplicated.

## Best Practices
The package identifier must be unique. You cannot have multiple submissions with the same package identifier. Only one pull request per package version is allowed.

Avoid creating multiple publisher folders. For example, do not create "Contoso Ltd." if there is already a "Contoso" folder.

All tools must support a silent install to be permitted in the Windows Package Manager Community Repository. If you have an executable that does not support a silent install, then we cannot provide that tool at this time.

Provide as many fields as possible. The more meta-data you provide the better the user experience will be. In some cases, the fields may not yet be supported by the Windows Package Manager client (winget.exe).

The length of strings in this specification should be limited to 100 characters before a line break.

## Summary of Changes from 1.6.0

### [Version](version.md)
* No Changes
### [Default Locale](defaultLocale.md)
* No Changes
### [Installer](installer.md)
* Added `InstallerSwitches > Repair`
* Added `RepairBehavior` and `Installer > RepairBehavior`
### [Locale](locale.md)
* No Changes
Loading

0 comments on commit faf189e

Please sign in to comment.