summaryrefslogtreecommitdiffstats
path: root/src/main.rs
diff options
context:
space:
mode:
authorMatthias Beyer <mail@beyermatthias.de>2020-11-05 11:36:34 +0100
committerMatthias Beyer <mail@beyermatthias.de>2020-11-05 11:37:34 +0100
commit6aeeb4b2b3d852ec7dd68ce2e899e00d53cde844 (patch)
treed6c3d047364ed743176ddef9f231ce12507eadbf /src/main.rs
parent779960f91950cbed916a2df3f6272fc5a00d2f69 (diff)
build() does only support building one package
If we find multiple, we error out. Building multiple packages with one call should not be supported. Signed-off-by: Matthias Beyer <mail@beyermatthias.de>
Diffstat (limited to 'src/main.rs')
-rw-r--r--src/main.rs16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/main.rs b/src/main.rs
index 9bec9b1..395ad6f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -158,15 +158,15 @@ async fn build<'a>(matches: &ArgMatches,
};
debug!("Found {} relevant packages", packages.len());
- let trees = tokio::stream::iter(packages.into_iter().cloned())
- .map(|p| {
- let mut tree = Tree::new();
- tree.add_package(p, &repo, bar_tree_building.clone())?;
- Ok(tree)
- })
- .collect::<Result<Vec<_>>>()
- .await?;
+ /// We only support building one package per call.
+ /// Everything else is invalid
+ if packages.len() > 1 {
+ return Err(anyhow!("Found multiple packages ({}). Cannot decide which one to build", packages.len()))
+ }
+ let package = *packages.get(0).ok_or_else(|| anyhow!("Found no package."))?;
+ let mut tree = Tree::new();
+ tree.add_package(package.clone(), &repo, bar_tree_building.clone())?;
bar_tree_building.finish_with_message("Finished loading Tree");
debug!("Trees loaded: {:?}", trees);