1pub use cargo_toml::Package as CargoPackage;
2use creator_tools::types::{android_manifest::UsesPermission, *};
3use serde::{Deserialize, Serialize};
4use std::path::PathBuf;
5
6pub type CargoManifest = cargo_toml::Manifest<Metadata>;
7
8#[derive(Debug, Clone, Deserialize, Serialize)]
9pub struct Metadata {
10 pub app_name: Option<String>,
11 pub version_name: Option<String>,
12 pub version_code: Option<String>,
13 pub min_sdk_version: Option<u32>,
14 pub target_sdk_version: Option<u32>,
15 pub max_sdk_version: Option<u32>,
16 pub icon: Option<String>,
17
18 #[serde(default)]
19 pub android_permissions: Vec<UsesPermission>,
20
21 #[serde(default)]
22 pub use_android_manifest: bool,
23 pub android_manifest_path: Option<PathBuf>,
24
25 #[serde(default)]
26 pub use_info_plist: bool,
27 pub info_plist_path: Option<PathBuf>,
28
29 pub android_app_id: Option<String>,
30 pub android_res: Option<PathBuf>,
32 pub android_assets: Option<PathBuf>,
34 pub android_build_targets: Option<Vec<AndroidTarget>>,
36
37 pub apple_build_targets: Option<Vec<AppleTarget>>,
39 pub apple_res: Option<PathBuf>,
41 pub apple_assets: Option<PathBuf>,
43}