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())),
}
}
}