mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-27 14:40:44 +00:00
feat: commit code
This commit is contained in:
parent
5edcb9238c
commit
0a2bac8715
2 changed files with 19 additions and 12 deletions
|
@ -2,11 +2,11 @@ use crate::{
|
|||
config::{CrateConfig, ExecutableType},
|
||||
error::{Error, Result},
|
||||
tools::Tool,
|
||||
DioxusConfig,
|
||||
CargoFormatInfo, DioxusConfig,
|
||||
};
|
||||
use std::{
|
||||
fs::{copy, create_dir_all, remove_dir_all, File},
|
||||
io::{Read, BufRead},
|
||||
io::{BufRead, Read},
|
||||
panic,
|
||||
path::PathBuf,
|
||||
process::Command,
|
||||
|
@ -80,16 +80,21 @@ pub fn build(config: &CrateConfig, quiet: bool) -> Result<()> {
|
|||
let mut child = cmd.spawn()?;
|
||||
let out = child.stdout.take().unwrap();
|
||||
let mut out = std::io::BufReader::new(out);
|
||||
let mut s = String::new();
|
||||
let mut n = 0;
|
||||
while let Ok(_) = out.read_line(&mut s) {
|
||||
let mut content = String::new();
|
||||
while let Ok(_) = out.read_line(&mut content) {
|
||||
// 进程退出后结束循环
|
||||
if let Ok(Some(_)) = child.try_wait() {
|
||||
break;
|
||||
}
|
||||
println!("\n{}\n", s);
|
||||
loading.text(format!("Building {}", n));
|
||||
n += 1;
|
||||
let content = content.split('\n').collect::<Vec<&str>>();
|
||||
for json in content {
|
||||
let d = serde_json::from_str::<CargoFormatInfo>(&json);
|
||||
if let Ok(d) = d {
|
||||
println!("\n{:#?}\n", d);
|
||||
} else {
|
||||
println!("\n\n{:?}\n\n", json);
|
||||
}
|
||||
}
|
||||
}
|
||||
loading.success("OK");
|
||||
loading.end();
|
||||
|
|
10
src/cargo.rs
10
src/cargo.rs
|
@ -1,5 +1,5 @@
|
|||
//! Utilities for working with cargo and rust files
|
||||
use serde::Serialize;
|
||||
use serde::{Serialize, Deserialize};
|
||||
|
||||
use crate::error::{Error, Result};
|
||||
use std::{
|
||||
|
@ -93,7 +93,7 @@ impl Metadata {
|
|||
}
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug, Clone)]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub struct CargoFormatInfo {
|
||||
pub reason: CargoFormatReason,
|
||||
#[serde(default)]
|
||||
|
@ -101,10 +101,12 @@ pub struct CargoFormatInfo {
|
|||
#[serde(default)]
|
||||
manifest_path: String,
|
||||
#[serde(default)]
|
||||
message: Option<serde_json::Value>
|
||||
target: Option<serde_json::Value>,
|
||||
#[serde(default)]
|
||||
message: Option<serde_json::Value>,
|
||||
}
|
||||
|
||||
#[derive(Serialize, Debug, Clone)]
|
||||
#[derive(Serialize, Deserialize, Debug, Clone)]
|
||||
pub enum CargoFormatReason {
|
||||
#[serde(rename = "compiler-message")]
|
||||
CompilerMessage,
|
||||
|
|
Loading…
Reference in a new issue