winget_types/installer/
dependencies.rs1use 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}