feat: add profile flag
This commit is contained in:
1 parent
62d18441c7
commit
51639af482
5 files changed
+30
No files matched your search
@@ -49,6 +49,11 @@ pub fn build(config: &CrateConfig) -> Result<()> {
|
|||||||
cmd.arg("--release");
|
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 {
|
match executable {
|
||||||
ExecutableType::Binary(name) => cmd.arg("--bin").arg(name),
|
ExecutableType::Binary(name) => cmd.arg("--bin").arg(name),
|
||||||
ExecutableType::Lib(name) => cmd.arg("--lib").arg(name),
|
ExecutableType::Lib(name) => cmd.arg("--lib").arg(name),
|
||||||
|
|||||||
@@ -19,6 +19,10 @@ impl Build {
|
|||||||
crate_config.as_example(self.build.example.unwrap());
|
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(|| {
|
let platform = self.build.platform.unwrap_or_else(|| {
|
||||||
crate_config
|
crate_config
|
||||||
.dioxus_config
|
.dioxus_config
|
||||||
|
|||||||
@@ -16,6 +16,10 @@ pub struct ConfigOptsBuild {
|
|||||||
#[clap(long)]
|
#[clap(long)]
|
||||||
pub example: Option<String>,
|
pub example: Option<String>,
|
||||||
|
|
||||||
|
/// Build with custom profile
|
||||||
|
#[clap(long)]
|
||||||
|
pub profile: Option<String>,
|
||||||
|
|
||||||
/// Build platform: support Web & Desktop [default: "default_platform"]
|
/// Build platform: support Web & Desktop [default: "default_platform"]
|
||||||
#[clap(long)]
|
#[clap(long)]
|
||||||
pub platform: Option<String>,
|
pub platform: Option<String>,
|
||||||
@@ -36,6 +40,10 @@ pub struct ConfigOptsServe {
|
|||||||
#[serde(default)]
|
#[serde(default)]
|
||||||
pub release: bool,
|
pub release: bool,
|
||||||
|
|
||||||
|
/// Build with custom profile
|
||||||
|
#[clap(long)]
|
||||||
|
pub profile: Option<String>,
|
||||||
|
|
||||||
/// Build platform: support Web & Desktop [default: "default_platform"]
|
/// Build platform: support Web & Desktop [default: "default_platform"]
|
||||||
#[clap(long)]
|
#[clap(long)]
|
||||||
pub platform: Option<String>,
|
pub platform: Option<String>,
|
||||||
|
|||||||
@@ -24,6 +24,10 @@ impl Serve {
|
|||||||
crate_config.as_example(self.serve.example.unwrap());
|
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(|| {
|
let platform = self.serve.platform.unwrap_or_else(|| {
|
||||||
crate_config
|
crate_config
|
||||||
.dioxus_config
|
.dioxus_config
|
||||||
|
|||||||
@@ -114,6 +114,7 @@ pub struct CrateConfig {
|
|||||||
pub executable: ExecutableType,
|
pub executable: ExecutableType,
|
||||||
pub dioxus_config: DioxusConfig,
|
pub dioxus_config: DioxusConfig,
|
||||||
pub release: bool,
|
pub release: bool,
|
||||||
|
pub custom_profile: Option<String>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[derive(Debug, Clone)]
|
#[derive(Debug, Clone)]
|
||||||
@@ -163,6 +164,8 @@ impl CrateConfig {
|
|||||||
|
|
||||||
let release = false;
|
let release = false;
|
||||||
|
|
||||||
|
let custom_profile = None;
|
||||||
|
|
||||||
Ok(Self {
|
Ok(Self {
|
||||||
out_dir,
|
out_dir,
|
||||||
crate_dir,
|
crate_dir,
|
||||||
@@ -173,6 +176,7 @@ impl CrateConfig {
|
|||||||
executable,
|
executable,
|
||||||
release,
|
release,
|
||||||
dioxus_config,
|
dioxus_config,
|
||||||
|
custom_profile,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -186,6 +190,11 @@ impl CrateConfig {
|
|||||||
self
|
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) {
|
// pub fn with_build_options(&mut self, options: &BuildOptions) {
|
||||||
// if let Some(name) = &options.example {
|
// if let Some(name) = &options.example {
|
||||||
// self.as_example(name.clone());
|
// self.as_example(name.clone());
|
||||||
|
|||||||
Reference in new issue
Block a user