瀏覽代碼

fix(cli): build freezing on Windows, closes #3399 (#3402)

Lucas Fernandes Nogueira 3 年之前
父節點
當前提交
8beab63634

+ 6 - 0
.changes/fix-cli.js-windows-freezing.md

@@ -0,0 +1,6 @@
+---
+"cli.rs": patch
+"cli.js": patch
+---
+
+Fixes CLI freezing when running `light.exe` on Windows without the `--verbose` flag.

+ 3 - 1
tooling/bundler/src/bundle/common.rs

@@ -8,7 +8,7 @@ use std::{
   fs::{self, File},
   io::{self, BufWriter, Write},
   path::Path,
-  process::Command,
+  process::{Command, Stdio},
 };
 use termcolor::{Color, ColorChoice, ColorSpec, StandardStream, WriteColor};
 
@@ -198,6 +198,8 @@ pub fn print_info(message: &str) -> crate::Result<()> {
 pub fn execute_with_verbosity(cmd: &mut Command, settings: &Settings) -> crate::Result<()> {
   if settings.is_verbose() {
     cmd.pipe()?;
+  } else {
+    cmd.stdout(Stdio::null()).stderr(Stdio::null());
   }
   let status = cmd.status().expect("failed to spawn command");
 

+ 1 - 4
tooling/bundler/src/bundle/windows/msi/wix.rs

@@ -343,10 +343,7 @@ fn run_light(
   }
 
   let mut cmd = Command::new(&light_exe);
-  cmd
-    .args(&args)
-    .stdout(Stdio::piped())
-    .current_dir(build_path);
+  cmd.args(&args).current_dir(build_path);
 
   common::execute_with_verbosity(&mut cmd, settings).map_err(|_| {
     crate::Error::ShellScriptError(format!(