fix some errors not being reported
This commit is contained in:
1 parent
5f35fa6e16
commit
9a232328d0
1 file changed
+16
-5
+16
-5
@@ -380,7 +380,17 @@ fn prettier_build(cmd: subprocess::Exec) -> anyhow::Result<Vec<Diagnostic>> {
|
|||||||
);
|
);
|
||||||
pb.set_message("💼 Waiting to start build the project...");
|
pb.set_message("💼 Waiting to start build the project...");
|
||||||
|
|
||||||
let stdout = cmd.stream_stdout()?;
|
struct StopSpinOnDrop(ProgressBar);
|
||||||
|
|
||||||
|
impl Drop for StopSpinOnDrop {
|
||||||
|
fn drop(&mut self) {
|
||||||
|
self.0.finish_and_clear();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
StopSpinOnDrop(pb.clone());
|
||||||
|
|
||||||
|
let stdout = cmd.detached().stream_stdout()?;
|
||||||
let reader = std::io::BufReader::new(stdout);
|
let reader = std::io::BufReader::new(stdout);
|
||||||
for message in cargo_metadata::Message::parse_stream(reader) {
|
for message in cargo_metadata::Message::parse_stream(reader) {
|
||||||
match message.unwrap() {
|
match message.unwrap() {
|
||||||
@@ -388,9 +398,11 @@ fn prettier_build(cmd: subprocess::Exec) -> anyhow::Result<Vec<Diagnostic>> {
|
|||||||
let message = msg.message;
|
let message = msg.message;
|
||||||
match message.level {
|
match message.level {
|
||||||
cargo_metadata::diagnostic::DiagnosticLevel::Error => {
|
cargo_metadata::diagnostic::DiagnosticLevel::Error => {
|
||||||
return Err(anyhow::anyhow!(message
|
return {
|
||||||
.rendered
|
Err(anyhow::anyhow!(message
|
||||||
.unwrap_or("Unknown".into())));
|
.rendered
|
||||||
|
.unwrap_or("Unknown".into())))
|
||||||
|
};
|
||||||
}
|
}
|
||||||
cargo_metadata::diagnostic::DiagnosticLevel::Warning => {
|
cargo_metadata::diagnostic::DiagnosticLevel::Warning => {
|
||||||
warning_messages.push(message.clone());
|
warning_messages.push(message.clone());
|
||||||
@@ -407,7 +419,6 @@ fn prettier_build(cmd: subprocess::Exec) -> anyhow::Result<Vec<Diagnostic>> {
|
|||||||
}
|
}
|
||||||
Message::BuildFinished(finished) => {
|
Message::BuildFinished(finished) => {
|
||||||
if finished.success {
|
if finished.success {
|
||||||
pb.finish_and_clear();
|
|
||||||
log::info!("👑 Build done.");
|
log::info!("👑 Build done.");
|
||||||
} else {
|
} else {
|
||||||
std::process::exit(1);
|
std::process::exit(1);
|
||||||
|
|||||||
Reference in new issue
Block a user