winget_types/installer/
dependencies.rs

1use std::collections::BTreeSet;
2
3use serde::{Deserialize, Serialize};
4use serde_with::skip_serializing_none;
5
6use crate::shared::{PackageIdentifier, PackageVersion};
7
8#[skip_serializing_none]
9#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
10#[serde(rename_all = "PascalCase")]
11pub struct Dependencies {
12    pub windows_features: Option<BTreeSet<String>>,
13    pub windows_libraries: Option<BTreeSet<String>>,
14    #[serde(rename = "PackageDependencies")]
15    pub package: Option<BTreeSet<PackageDependencies>>,
16    #[serde(rename = "ExternalDependencies")]
17    pub external: Option<BTreeSet<String>>,
18}
19
20#[skip_serializing_none]
21#[derive(Serialize, Deserialize, Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
22#[serde(rename_all = "PascalCase")]
23pub struct PackageDependencies {
24    pub package_identifier: PackageIdentifier,
25    pub minimum_version: Option<PackageVersion>,
26}