From 5e63d45bca393395120041b64818acf23e4e1b7e Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Sun, 13 Aug 2023 17:25:35 +0200 Subject: [PATCH] Added build progress output (for batch builds) --- src/cmds/build.rs | 11 +++++++---- src/main.rs | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/cmds/build.rs b/src/cmds/build.rs index ebc4ba9..20bf6ab 100644 --- a/src/cmds/build.rs +++ b/src/cmds/build.rs @@ -21,8 +21,8 @@ fn arch_in(def: &HashSet, arch: &str) -> bool { } /// builds a single package without checking the dependencies -fn build_package(name: PackageName, db: &Database, arch: &Option, verbose:bool) { - let pkg = db.packages.get(&name).expect("Package not found"); +fn build_package(name: &str, db: &Database, arch: &Option, verbose:bool) { + let pkg = db.packages.get(name).expect("Package not found"); let mut child = Command::new("sh"); @@ -80,7 +80,10 @@ fn build_group(name: PackageName, db: &Database, arch: &Option, verbose: let tasks = super::tree::topological_sort(&name, &db) .expect("Unable to resolve dependencies, as there is a cycle in the graph"); - for task in tasks { + let num = tasks.len(); + + for (i, task) in tasks.iter().enumerate() { + println!("Building {} ({}/{})", task, i+1, num); build_package(task, db, arch, verbose); } } @@ -94,6 +97,6 @@ pub fn build(name: PackageName, db: Option, arch: Option, build // dependency resolution build_group(name, &db, &arch, verbose); } else { - build_package(name, &db, &arch, verbose); + build_package(&name, &db, &arch, verbose); } } diff --git a/src/main.rs b/src/main.rs index c2a744c..ac93c51 100644 --- a/src/main.rs +++ b/src/main.rs @@ -38,6 +38,7 @@ enum Commands { /// package database path #[arg(short='d',long)] db: Option, + /// allows the build log to be toggled on and off #[arg(short='v', default_value="false")] verbose: bool }, -- 2.38.5