Fixed build stdout
This commit is contained in:
@@ -7,8 +7,6 @@ pub mod event;
|
|||||||
void main() {
|
void main() {
|
||||||
var mut app_instance = new app::Application("mist-app");
|
var mut app_instance = new app::Application("mist-app");
|
||||||
|
|
||||||
i32 bro;
|
|
||||||
|
|
||||||
// greeting::register(&mut app_instance);
|
// greeting::register(&mut app_instance);
|
||||||
// statistics::register(&mut app_instance);
|
// statistics::register(&mut app_instance);
|
||||||
|
|
||||||
|
|||||||
+8
-12
@@ -26,11 +26,7 @@ pub enum MistDiagnostic {
|
|||||||
Rust(CompilerMessage),
|
Rust(CompilerMessage),
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn build(
|
pub fn build(mut args: Vec<String>, config: Config, root: PathBuf) -> bool {
|
||||||
mut args: Vec<String>,
|
|
||||||
config: Config,
|
|
||||||
root: PathBuf,
|
|
||||||
) -> Result<Vec<MistDiagnostic>, Vec<MistDiagnostic>> {
|
|
||||||
args.remove(0);
|
args.remove(0);
|
||||||
args.insert(1, "--message-format=json".to_string());
|
args.insert(1, "--message-format=json".to_string());
|
||||||
|
|
||||||
@@ -39,6 +35,8 @@ pub fn build(
|
|||||||
let mut command = Command::new("cargo")
|
let mut command = Command::new("cargo")
|
||||||
.args(args)
|
.args(args)
|
||||||
.stdout(Stdio::piped())
|
.stdout(Stdio::piped())
|
||||||
|
.stderr(Stdio::inherit())
|
||||||
|
.stdin(Stdio::inherit())
|
||||||
.spawn()
|
.spawn()
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
@@ -102,20 +100,18 @@ pub fn build(
|
|||||||
}
|
}
|
||||||
|
|
||||||
Ok(Message::BuildFinished(finish)) => {
|
Ok(Message::BuildFinished(finish)) => {
|
||||||
if finish.success {
|
print_diagnostics(&diagnostics);
|
||||||
return Ok(diagnostics);
|
return finish.success;
|
||||||
} else {
|
|
||||||
return Err(diagnostics);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
Ok(Message::TextLine(text)) => println!("{text}"),
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Ok(diagnostics)
|
false
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn print_diagnostics(diagnostics: Vec<MistDiagnostic>) {
|
pub fn print_diagnostics(diagnostics: &Vec<MistDiagnostic>) {
|
||||||
let mut files = HashMap::new();
|
let mut files = HashMap::new();
|
||||||
|
|
||||||
for diag in diagnostics {
|
for diag in diagnostics {
|
||||||
|
|||||||
+4
-4
@@ -15,10 +15,10 @@ fn main() {
|
|||||||
match args[1].as_str() {
|
match args[1].as_str() {
|
||||||
"run" | "build" | "r" | "b" => {
|
"run" | "build" | "r" | "b" => {
|
||||||
let (config, root) = transpiler::build();
|
let (config, root) = transpiler::build();
|
||||||
|
if builder::build(args, config, root) {
|
||||||
match builder::build(args, config, root) {
|
println!("\x1b[32m\nBuild successful\x1b[0m");
|
||||||
Ok(diagnostics) => builder::print_diagnostics(diagnostics),
|
} else {
|
||||||
Err(diagnostics) => builder::print_diagnostics(diagnostics),
|
println!("\x1b[31m\nBuild failed\x1b[0m");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
"transpile" | "t" => {
|
"transpile" | "t" => {
|
||||||
|
|||||||
Reference in New Issue
Block a user