feat: add profile flag

This commit is contained in:
YuKun Liu committed 2022-06-06 00:16:15 +08:00
1 parent 62d18441c7
commit 51639af482
5 files changed
+30

No files matched your search

+5
View File
@@ -49,6 +49,11 @@ pub fn build(config: &CrateConfig) -> Result<()> {
cmd.arg("--release");
}
if config.custom_profile.is_some() {
let custom_profile = config.custom_profile.as_ref().unwrap();
cmd.arg(format!("--profile {}", custom_profile));
}
match executable {
ExecutableType::Binary(name) => cmd.arg("--bin").arg(name),
ExecutableType::Lib(name) => cmd.arg("--lib").arg(name),
+4
View File
@@ -19,6 +19,10 @@ impl Build {
crate_config.as_example(self.build.example.unwrap());
}
if self.build.profile.is_some() {
crate_config.set_profile(self.build.profile.unwrap());
}
let platform = self.build.platform.unwrap_or_else(|| {
crate_config
.dioxus_config
+8
View File
@@ -16,6 +16,10 @@ pub struct ConfigOptsBuild {
#[clap(long)]
pub example: Option<String>,
/// Build with custom profile
#[clap(long)]
pub profile: Option<String>,
/// Build platform: support Web & Desktop [default: "default_platform"]
#[clap(long)]
pub platform: Option<String>,
@@ -36,6 +40,10 @@ pub struct ConfigOptsServe {
#[serde(default)]
pub release: bool,
/// Build with custom profile
#[clap(long)]
pub profile: Option<String>,
/// Build platform: support Web & Desktop [default: "default_platform"]
#[clap(long)]
pub platform: Option<String>,
+4
View File
@@ -24,6 +24,10 @@ impl Serve {
crate_config.as_example(self.serve.example.unwrap());
}
if self.serve.profile.is_some() {
crate_config.set_profile(self.serve.profile.unwrap());
}
let platform = self.serve.platform.unwrap_or_else(|| {
crate_config
.dioxus_config
+9
View File
@@ -114,6 +114,7 @@ pub struct CrateConfig {
pub executable: ExecutableType,
pub dioxus_config: DioxusConfig,
pub release: bool,
pub custom_profile: Option<String>,
}
#[derive(Debug, Clone)]
@@ -163,6 +164,8 @@ impl CrateConfig {
let release = false;
let custom_profile = None;
Ok(Self {
out_dir,
crate_dir,
@@ -173,6 +176,7 @@ impl CrateConfig {
executable,
release,
dioxus_config,
custom_profile,
})
}
@@ -186,6 +190,11 @@ impl CrateConfig {
self
}
pub fn set_profile(&mut self, profile: String) -> &mut Self {
self.custom_profile = Some(profile);
self
}
// pub fn with_build_options(&mut self, options: &BuildOptions) {
// if let Some(name) = &options.example {
// self.as_example(name.clone());