Cleanup some code that should've been done earlier

This commit is contained in:
2026-03-23 11:25:46 -05:00
parent 1b34dee81e
commit 401d737075

View File

@@ -78,31 +78,26 @@ enum ShellCompletions {
impl App { impl App {
pub fn run(self) { pub fn run(self) {
match self.command { match self.command {
Subcommand::New { name } => match create_project(&name) { Subcommand::New { name } => {
Err(e) => { if let Err(e) = create_project(&name) {
eprintln!("Error creating project '{name}': {e}"); eprintln!("Error creating project '{name}': {e}");
std::process::exit(1); std::process::exit(1);
} }
_ => {} }
}, Subcommand::Init => {
Subcommand::Init => match create_project(".") { if let Err(e) = create_project(".") {
Err(e) => {
eprintln!("Error initializing project: {e}"); eprintln!("Error initializing project: {e}");
std::process::exit(1); std::process::exit(1);
} }
_ => {} }
},
Subcommand::Run { Subcommand::Run {
mode, mode,
args, args,
force_recompile, force_recompile,
} => { } => {
match build(&mode, force_recompile) { if let Err(e) = build(&mode, force_recompile) {
Err(e) => {
eprintln!("Error building project: {e}"); eprintln!("Error building project: {e}");
std::process::exit(1); std::process::exit(1);
}
_ => {}
}; };
if let Err(e) = run(&mode, args) { if let Err(e) = run(&mode, args) {
eprintln!("Error running project: {e}"); eprintln!("Error running project: {e}");
@@ -112,20 +107,18 @@ impl App {
Subcommand::Build { Subcommand::Build {
mode, mode,
force_recompile, force_recompile,
} => match build(&mode, force_recompile) { } => {
Err(e) => { if let Err(e) = build(&mode, force_recompile) {
eprintln!("Error building project: {e}"); eprintln!("Error building project: {e}");
std::process::exit(1); std::process::exit(1);
} }
_ => {} }
}, Subcommand::Clean => {
Subcommand::Clean => match clean() { if let Err(e) = clean() {
Err(e) => {
eprintln!("Error cleaning project: {e}"); eprintln!("Error cleaning project: {e}");
std::process::exit(1); std::process::exit(1);
} }
_ => {} }
},
Subcommand::Utils { command } => match command { Subcommand::Utils { command } => match command {
UtilSubcommand::Completions { shell } => { UtilSubcommand::Completions { shell } => {
let name = env!("CARGO_PKG_NAME"); let name = env!("CARGO_PKG_NAME");
@@ -158,13 +151,12 @@ impl App {
} }
} }
}, },
Subcommand::List => match list() { Subcommand::List => {
Err(e) => { if let Err(e) = list() {
eprintln!("Error listing build profiles: {e}"); eprintln!("Error listing build profiles: {e}");
std::process::exit(1); std::process::exit(1);
} }
_ => {} }
},
} }
} }
} }
@@ -292,9 +284,14 @@ fn build(mode: &Option<String>, force_recompile: bool) -> std::io::Result<()> {
.arg("-o") .arg("-o")
.arg(format!("target/{}/{}", build_config.name, conf.name)); .arg(format!("target/{}/{}", build_config.name, conf.name));
let mut child = command.spawn()?; let status = command.status()?;
child.wait()?; if !status.success() {
return Err(std::io::Error::new(
std::io::ErrorKind::Other,
format!("compiler exited with status {status}"),
));
}
std::fs::write(format!("target/{}/.build_hash", build_config.name), hash)?; std::fs::write(format!("target/{}/.build_hash", build_config.name), hash)?;
@@ -360,7 +357,7 @@ fn run(mode: &Option<String>, args: Option<Vec<String>>) -> std::io::Result<()>
} }
fn clean() -> std::io::Result<()> { fn clean() -> std::io::Result<()> {
if let None = get_config() { if get_config().is_none() {
return Err(std::io::Error::new( return Err(std::io::Error::new(
std::io::ErrorKind::NotFound, std::io::ErrorKind::NotFound,
"no Pallet.toml found in local dir", "no Pallet.toml found in local dir",