about summary refs log tree commit diff
diff options
context:
space:
mode:
authorRalf Jung <post@ralfj.de>2020-06-10 18:59:48 +0200
committerRalf Jung <post@ralfj.de>2020-06-10 18:59:48 +0200
commitf507748ce49f8e9ce5dc76bb7811a374c814923f (patch)
tree0be881ec33817f39cd785fa537ea363318aa9e4f
parentbb8674837a9cc5225020e07fc3f164762bb4c11c (diff)
downloadrust-f507748ce49f8e9ce5dc76bb7811a374c814923f.tar.gz
rust-f507748ce49f8e9ce5dc76bb7811a374c814923f.zip
x.py: with --json-output, forward cargo's JSON
-rw-r--r--src/bootstrap/compile.rs8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/bootstrap/compile.rs b/src/bootstrap/compile.rs
index b3999118e3d..c09b73b0420 100644
--- a/src/bootstrap/compile.rs
+++ b/src/bootstrap/compile.rs
@@ -983,7 +983,13 @@ pub fn stream_cargo(
     for line in stdout.lines() {
         let line = t!(line);
         match serde_json::from_str::<CargoMessage<'_>>(&line) {
-            Ok(msg) => cb(msg),
+            Ok(msg) => {
+                if builder.config.json_output {
+                    // Forward JSON to stdout.
+                    println!("{}", line);
+                }
+                cb(msg)
+            }
             // If this was informational, just print it out and continue
             Err(_) => println!("{}", line),
         }