Fixed build stdout

This commit is contained in:
2026-05-19 05:08:27 +02:00
parent 8343740b11
commit ffe868e0cd
3 changed files with 12 additions and 18 deletions
-2
View File
@@ -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
View File
@@ -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
View File
@@ -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" => {