summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthias Beyer <matthias.beyer@atos.net>2021-07-27 16:36:37 +0200
committerMatthias Beyer <matthias.beyer@atos.net>2021-07-27 16:36:37 +0200
commit45cda0f70ab0f1d717c3dc2b481ad84a4ff0f00f (patch)
tree838317e911d46039ba928a476135177227710227
parent69d2334a5121edbbaa7356428e2d6e8fbd5d3443 (diff)
parentb140c12b53931bf463f706d28ddb3be0c0fb0e4f (diff)
Merge branch 'optional-dag-loading-progress'
-rw-r--r--src/commands/build.rs2
-rw-r--r--src/commands/tree_of.rs9
-rw-r--r--src/main.rs2
-rw-r--r--src/package/dag.rs6
4 files changed, 6 insertions, 13 deletions
diff --git a/src/commands/build.rs b/src/commands/build.rs
index bb0c2d9..db8d7a4 100644
--- a/src/commands/build.rs
+++ b/src/commands/build.rs
@@ -226,7 +226,7 @@ pub async fn build(
let dag = {
let bar_tree_building = progressbars.bar();
- let dag = Dag::for_root_package(package.clone(), &repo, &bar_tree_building)?;
+ let dag = Dag::for_root_package(package.clone(), &repo, Some(&bar_tree_building))?;
bar_tree_building.finish_with_message("Finished loading Dag");
dag
};
diff --git a/src/commands/tree_of.rs b/src/commands/tree_of.rs
index 4f78c61..6b297e3 100644
--- a/src/commands/tree_of.rs
+++ b/src/commands/tree_of.rs
@@ -21,13 +21,11 @@ use crate::package::Dag;
use crate::package::PackageName;
use crate::package::PackageVersionConstraint;
use crate::repository::Repository;
-use crate::util::progress::ProgressBars;
/// Implementation of the "tree_of" subcommand
pub async fn tree_of(
matches: &ArgMatches,
repo: Repository,
- progressbars: ProgressBars,
) -> Result<()> {
let pname = matches
.value_of("package_name")
@@ -46,12 +44,7 @@ pub async fn tree_of(
.map(|v| v.matches(p.version()))
.unwrap_or(true)
})
- .map(|package| {
- let bar_tree_building = progressbars.bar();
- let tree = Dag::for_root_package(package.clone(), &repo, &bar_tree_building)?;
- bar_tree_building.finish_with_message("Finished loading Tree");
- Ok(tree)
- })
+ .map(|package| Dag::for_root_package(package.clone(), &repo, None))
.and_then_ok(|tree| {
let stdout = std::io::stdout();
let mut outlock = stdout.lock();
diff --git a/src/main.rs b/src/main.rs
index 4c5ce5d..38460a6 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -235,7 +235,7 @@ async fn main() -> Result<()> {
Some(("tree-of", matches)) => {
let repo = load_repo()?;
- crate::commands::tree_of(matches, repo, progressbars)
+ crate::commands::tree_of(matches, repo)
.await
.context("tree-of command failed")?
}
diff --git a/src/package/dag.rs b/src/package/dag.rs
index 1075dda..102355a 100644
--- a/src/package/dag.rs
+++ b/src/package/dag.rs
@@ -40,14 +40,14 @@ impl Dag {
pub fn for_root_package(
p: Package,
repo: &Repository,
- progress: &ProgressBar,
+ progress: Option<&ProgressBar>,
) -> Result<Self> {
fn add_sub_packages<'a>(
repo: &'a Repository,
mappings: &mut HashMap<&'a Package, daggy::NodeIndex>,
dag: &mut daggy::Dag<&'a Package, i8>,
p: &'a Package,
- progress: &ProgressBar
+ progress: Option<&ProgressBar>
) -> Result<()> {
p.get_self_packaged_dependencies()
.and_then_ok(|(name, constr)| {
@@ -63,7 +63,7 @@ impl Dag {
// recurse
packs.into_iter()
.try_for_each(|p| {
- progress.tick();
+ progress.as_ref().map(|p| p.tick());
let idx = dag.add_node(p);
mappings.insert(p, idx);