فهرست منبع

feat: add `verbose` flag

YuKun Liu 3 سال پیش
والد
کامیت
421d2ed298
5فایلهای تغییر یافته به همراه27 افزوده شده و 1 حذف شده
  1. 6 0
      src/builder.rs
  2. 1 0
      src/cli/build/mod.rs
  3. 10 0
      src/cli/cfg.rs
  4. 1 0
      src/cli/serve/mod.rs
  5. 9 1
      src/config.rs

+ 6 - 0
src/builder.rs

@@ -48,6 +48,9 @@ pub fn build(config: &CrateConfig) -> Result<()> {
     if config.release {
         cmd.arg("--release");
     }
+    if config.verbose {
+        cmd.arg("--verbose");
+    }
 
     if config.custom_profile.is_some() {
         let custom_profile = config.custom_profile.as_ref().unwrap();
@@ -200,6 +203,9 @@ pub fn build_desktop(config: &CrateConfig, is_serve: bool) -> Result<()> {
     if config.release {
         cmd.arg("--release");
     }
+    if config.verbose {
+        cmd.arg("--verbose");
+    }
 
     if config.custom_profile.is_some() {
         let custom_profile = config.custom_profile.as_ref().unwrap();

+ 1 - 0
src/cli/build/mod.rs

@@ -14,6 +14,7 @@ impl Build {
 
         // change the release state.
         crate_config.with_release(self.build.release);
+        crate_config.with_verbose(self.build.verbose);
 
         if self.build.example.is_some() {
             crate_config.as_example(self.build.example.unwrap());

+ 10 - 0
src/cli/cfg.rs

@@ -12,6 +12,11 @@ pub struct ConfigOptsBuild {
     #[serde(default)]
     pub release: bool,
 
+    // Use verbose output [default: false]
+    #[clap(long)]
+    #[serde(default)]
+    pub verbose: bool,
+
     /// Build a example [default: ""]
     #[clap(long)]
     pub example: Option<String>,
@@ -44,6 +49,11 @@ pub struct ConfigOptsServe {
     #[serde(default)]
     pub release: bool,
 
+    // Use verbose output [default: false]
+    #[clap(long)]
+    #[serde(default)]
+    pub verbose: bool,
+
     /// Build with custom profile
     #[clap(long)]
     pub profile: Option<String>,

+ 1 - 0
src/cli/serve/mod.rs

@@ -19,6 +19,7 @@ impl Serve {
 
         // change the relase state.
         crate_config.with_release(self.serve.release);
+        crate_config.with_verbose(self.serve.verbose);
 
         if self.serve.example.is_some() {
             crate_config.as_example(self.serve.example.unwrap());

+ 9 - 1
src/config.rs

@@ -114,6 +114,7 @@ pub struct CrateConfig {
     pub executable: ExecutableType,
     pub dioxus_config: DioxusConfig,
     pub release: bool,
+    pub verbose: bool,
     pub custom_profile: Option<String>,
     pub features: Option<Vec<String>>,
 }
@@ -164,6 +165,7 @@ impl CrateConfig {
         let executable = ExecutableType::Binary(output_filename);
 
         let release = false;
+        let verbose = false;
         let custom_profile = None;
         let features = None;
 
@@ -178,7 +180,8 @@ impl CrateConfig {
             release,
             dioxus_config,
             custom_profile,
-            features
+            features,
+            verbose,
         })
     }
 
@@ -192,6 +195,11 @@ impl CrateConfig {
         self
     }
 
+    pub fn with_verbose(&mut self, verbose: bool) -> &mut Self {
+        self.verbose = verbose;
+        self
+    }
+
     pub fn set_profile(&mut self, profile: String) -> &mut Self {
         self.custom_profile = Some(profile);
         self