pub enum ResolvedWindowsPackage {
DirectRelease {
name: String,
url: String,
asset_name: String,
},
RelocatableArchive {
name: String,
url: String,
asset_name: String,
},
ChocoFallback {
name: String,
choco_name: String,
},
Skip {
name: String,
},
}Expand description
A resolved Windows package, after consulting both the relocatable-artifact discovery endpoint and the Chocolatey shard map.
Counterpart to macos_image_resolver::ResolvedPackage. The Windows builder
prefers relocatable artifacts (DirectRelease /
RelocatableArchive) — these are downloaded and
extracted directly into the container rootfs layer, so the produced image
needs no Chocolatey in its base. ChocoFallback is
only emitted when no relocatable artifact resolves; the apt→choco
translation still lowers those to choco install.
Variants§
DirectRelease
A direct download from a forge release (GitHub, GitLab, Codeberg,
Forgejo) — typically a single .exe or a .zip/.tar.* bundle. The
builder downloads url, extracts (or drops, for a bare binary) into a
controlled prefix under the rootfs, and adds the bin dir to PATH.
Fields
RelocatableArchive
A portable/relocatable archive (zip or tarball) that extracts to a
self-contained tree. Same install machinery as
DirectRelease; kept distinct so the discovery
source (“portable:” / “archive:”) is faithfully recorded.
Fields
ChocoFallback
No relocatable artifact resolved, but the shard map has a Chocolatey
package name. The apt→choco translation keeps emitting
choco install -y <choco_name> for these.
Fields
Skip
Linux-only package (__skip__ sentinel) with no Windows equivalent —
the builder silently omits it.
Implementations§
Trait Implementations§
Source§impl Clone for ResolvedWindowsPackage
impl Clone for ResolvedWindowsPackage
Source§fn clone(&self) -> ResolvedWindowsPackage
fn clone(&self) -> ResolvedWindowsPackage
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 ResolvedWindowsPackage
impl Debug for ResolvedWindowsPackage
impl Eq for ResolvedWindowsPackage
Source§impl PartialEq for ResolvedWindowsPackage
impl PartialEq for ResolvedWindowsPackage
Source§fn eq(&self, other: &ResolvedWindowsPackage) -> bool
fn eq(&self, other: &ResolvedWindowsPackage) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for ResolvedWindowsPackage
Auto Trait Implementations§
impl Freeze for ResolvedWindowsPackage
impl RefUnwindSafe for ResolvedWindowsPackage
impl Send for ResolvedWindowsPackage
impl Sync for ResolvedWindowsPackage
impl Unpin for ResolvedWindowsPackage
impl UnsafeUnpin for ResolvedWindowsPackage
impl UnwindSafe for ResolvedWindowsPackage
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T in a tonic::Request