crossbundle_tools/types/android/
strategies.rs1use crate::error::AndroidError;
2use serde::{Deserialize, Serialize};
3
4#[derive(Debug, Default, Clone, Copy, PartialEq, Eq, Deserialize, Serialize)]
6pub enum AndroidStrategy {
7 #[default]
9 #[serde(rename = "gradle-apk")]
10 GradleApk,
11 #[serde(rename = "native-apk")]
14 NativeApk,
15 #[serde(rename = "native-aab")]
18 NativeAab,
19}
20
21impl std::str::FromStr for AndroidStrategy {
22 type Err = AndroidError;
23
24 fn from_str(s: &str) -> std::result::Result<Self, Self::Err> {
25 match s {
26 "gradle-apk" => Ok(Self::GradleApk),
27 "native-apk" => Ok(Self::NativeApk),
28 "native-aab" => Ok(Self::NativeAab),
29 _ => Err(AndroidError::InvalidBuildStrategy(s.to_owned())),
30 }
31 }
32}