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