pub struct WingetConfig {Show 40 fields
pub name: Option<String>,
pub package_name: Option<String>,
pub package_identifier: Option<String>,
pub publisher: Option<String>,
pub publisher_url: Option<String>,
pub publisher_support_url: Option<String>,
pub privacy_url: Option<String>,
pub author: Option<String>,
pub copyright: Option<String>,
pub copyright_url: Option<String>,
pub license: Option<String>,
pub license_url: Option<String>,
pub short_description: Option<String>,
pub default_locale: Option<String>,
pub description: Option<String>,
pub homepage: Option<String>,
pub url_template: Option<String>,
pub ids: Option<Vec<String>>,
pub skip_upload: Option<StringOrBool>,
pub commit_msg_template: Option<String>,
pub path: Option<String>,
pub release_notes: Option<String>,
pub release_notes_url: Option<String>,
pub installation_notes: Option<String>,
pub tags: Option<Vec<String>>,
pub dependencies: Option<Vec<WingetDependency>>,
pub repository: Option<RepositoryConfig>,
pub commit_author: Option<CommitAuthorConfig>,
pub product_code: Option<String>,
pub moniker: Option<String>,
pub documentations: Option<Vec<WingetDocumentation>>,
pub upgrade_behavior: Option<String>,
pub silent_switch: Option<String>,
pub use_artifact: Option<String>,
pub amd64_variant: Option<Amd64Variant>,
pub post_publish_poll: Option<PostPublishPollConfig>,
pub update_existing_pr: Option<StringOrBool>,
pub required: Option<bool>,
pub if_condition: Option<String>,
pub retain_on_rollback: Option<bool>,
}Fields§
§name: Option<String>Override the package name (default: crate name).
package_name: Option<String>Package name as displayed (default: same as name).
package_identifier: Option<String>WinGet package identifier (e.g. “Publisher.AppName”). Auto-generated if empty.
publisher: Option<String>Publisher name (required).
publisher_url: Option<String>Publisher homepage URL shown in the WinGet manifest.
publisher_support_url: Option<String>Publisher support URL.
privacy_url: Option<String>Privacy policy URL.
Author name.
copyright: Option<String>Copyright notice.
copyright_url: Option<String>Copyright URL.
license: Option<String>License identifier (required, e.g. “MIT”).
license_url: Option<String>License URL.
short_description: Option<String>Short description (required, max 256 chars).
default_locale: Option<String>Locale stamped into the WinGet manifests: the version manifest’s
DefaultLocale, the installer manifest’s InstallerLocale, the
locale manifest’s PackageLocale, and the locale manifest’s
.locale.<locale>.yaml file name. Supports templates.
Default: en-US.
winget:
default_locale: "pt-BR"description: Option<String>Full package description displayed in the WinGet gallery.
homepage: Option<String>Project homepage URL.
url_template: Option<String>Custom URL template for download URLs (overrides release URL).
ids: Option<Vec<String>>Build IDs filter: only include artifacts whose id is in this list.
skip_upload: Option<StringOrBool>Skip publishing. "true" always skips; "auto" skips for prereleases.
Accepts bool or template string.
commit_msg_template: Option<String>Custom commit message template.
path: Option<String>Manifest file path (auto-generated if empty from publisher/name/version).
release_notes: Option<String>Release notes for this version.
release_notes_url: Option<String>URL to full release notes.
installation_notes: Option<String>Post-install notes shown to the user.
Tags for package discovery (lowercased, spaces→hyphens).
dependencies: Option<Vec<WingetDependency>>Package dependencies.
repository: Option<RepositoryConfig>Unified repository config with branch, token, PR, git SSH support.
(Replaces the legacy manifests_repo: WingetManifestsRepoConfig.)
Commit author with optional signing.
product_code: Option<String>Product code for the installer (used in Add/Remove Programs).
moniker: Option<String>Short invoke alias shown as the package Moniker (e.g. rg for
ripgrep, fd for fd). This is the command users type, NOT the
package/crate name. When unset, anodizer derives it from the single
published binary name; with multiple binaries and no override the
Moniker is omitted (winget treats it as optional).
Example: moniker: "rg".
documentations: Option<Vec<WingetDocumentation>>Documentation links rendered as the Documentations[] block on the
locale manifest. Each entry is a { label, url } pair surfaced in the
winget gallery (real ripgrep emits a FAQ and a User Guide entry).
Omitted entirely when empty.
Example:
documentations:
- label: "User Guide"
url: "https://github.com/owner/repo/blob/master/GUIDE.md"upgrade_behavior: Option<String>Installer UpgradeBehavior for every installer entry. winget accepts
install, uninstallPrevious, and deny. Defaults to install —
the correct behavior for portable-zip CLI tools (uninstallPrevious
forces a clobbering reinstall).
Example: upgrade_behavior: "uninstallPrevious".
silent_switch: Option<String>Silent-install switch string emitted as InstallerSwitches.Silent for
actual installers (wix/msi/exe/nsis). When unset, anodizer
derives the switch from the installer type (/quiet for msi, /S for
exe/nsis). Never emitted for zip/portable artifacts.
Example: silent_switch: "/qn".
use_artifact: Option<String>Artifact selection: “archive” (default), “msi”, or “nsis”.
amd64_variant: Option<Amd64Variant>amd64 microarchitecture variant filter (v1 / v2 / v3 / v4).
Only artifacts matching this variant are included. Default: v1.
Typed as Amd64Variant, so any value outside v1..v4 is
rejected when the config is parsed.
post_publish_poll: Option<PostPublishPollConfig>Post-publish PR-validation polling settings. Polling is
disabled by default — winget-pkgs PR validation routinely
takes hours to days, and blocking a CI workflow on that wait
is wrong. Opt in per-publisher with
post_publish_poll: { enabled: true } when running locally and
willing to wait, or disable globally via --no-post-publish-poll.
update_existing_pr: Option<StringOrBool>When true, force-push the updated manifest to the existing PR branch when a PR for the same head branch already exists. The PR content is updated in place rather than creating a duplicate. When false (default), the push is skipped and a warning is emitted so the operator sees that the publisher did not update the PR.
required: Option<bool>Override whether this publisher failing should fail the overall release.
Default: false — a failure here is logged but does not abort the release.
Set to true to fail the release on any error.
if_condition: Option<String>Template-conditional gate: when the rendered result is falsy
("false" / "0" / "no" / empty), the WinGet publisher is
skipped. Render failure hard-errors. Config key: winget[].if:.
retain_on_rollback: Option<bool>When true, a triggered rollback leaves this publisher’s work in
place rather than attempting to undo it. Default false.
Trait Implementations§
Source§impl Clone for WingetConfig
impl Clone for WingetConfig
Source§fn clone(&self) -> WingetConfig
fn clone(&self) -> WingetConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for WingetConfig
impl Debug for WingetConfig
Source§impl Default for WingetConfig
impl Default for WingetConfig
Source§fn default() -> WingetConfig
fn default() -> WingetConfig
Source§impl<'de> Deserialize<'de> for WingetConfigwhere
WingetConfig: Default,
impl<'de> Deserialize<'de> for WingetConfigwhere
WingetConfig: Default,
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl JsonSchema for WingetConfig
impl JsonSchema for WingetConfig
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreSource§impl PublisherGateOverrides for WingetConfig
impl PublisherGateOverrides for WingetConfig
Source§fn required_override(&self) -> Option<bool>
fn required_override(&self) -> Option<bool>
required: override. None keeps the publisher’s
built-in default; Some(true) anywhere escalates the release gate.Source§fn retain_on_rollback_override(&self) -> Option<bool>
fn retain_on_rollback_override(&self) -> Option<bool>
retain_on_rollback: override. Some(true) anywhere
opts the publisher’s successful work out of rollback.