diff options
author | Matthias Beyer <matthias.beyer@atos.net> | 2021-06-25 19:09:52 +0200 |
---|---|---|
committer | Matthias Beyer <matthias.beyer@atos.net> | 2021-09-16 12:32:18 +0200 |
commit | 3cc328a5f5857b95299d0ef998be5dcc3ddde6a7 (patch) | |
tree | af2945fe2dfdf111b766221f914538f32fbf20e9 /src/package/dag.rs | |
parent | 7902138f93e397c8a41f0699e970924916d613b0 (diff) |
Add passing of data for condition-check
This patch extends the interface for building the package DAG with a parameter
for the data that is required to check conditions for conditional dependencies.
A "DTO" type is added for this data.
The actual condition-checking is not implemented in this patch.
Signed-off-by: Matthias Beyer <matthias.beyer@atos.net>
Diffstat (limited to 'src/package/dag.rs')
-rw-r--r-- | src/package/dag.rs | 38 |
1 files changed, 33 insertions, 5 deletions
diff --git a/src/package/dag.rs b/src/package/dag.rs index aea416c..e5dc840 100644 --- a/src/package/dag.rs +++ b/src/package/dag.rs @@ -25,6 +25,7 @@ use resiter::AndThen; use getset::Getters; use crate::package::Package; +use crate::package::condition::ConditionData; use crate::repository::Repository; #[derive(Debug, Getters)] @@ -41,6 +42,7 @@ impl Dag { p: Package, repo: &Repository, progress: Option<&ProgressBar>, + _conditional_data: &ConditionData<'_>, // required for selecting packages with conditional dependencies ) -> Result<Self> { fn add_sub_packages<'a>( repo: &'a Repository, @@ -182,7 +184,13 @@ mod tests { let repo = Repository::from(btree); let progress = ProgressBar::hidden(); - let r = Dag::for_root_package(p1, &repo, Some(&progress)); + let condition_data = ConditionData { + image_name: None, + env: &[], + }; + + let r = Dag::for_root_package(p1, &repo, Some(&progress), &condition_data); + assert!(r.is_ok()); } @@ -214,7 +222,12 @@ mod tests { let repo = Repository::from(btree); let progress = ProgressBar::hidden(); - let dag = Dag::for_root_package(p1, &repo, Some(&progress)); + let condition_data = ConditionData { + image_name: None, + env: &[], + }; + + let dag = Dag::for_root_package(p1, &repo, Some(&progress), &condition_data); assert!(dag.is_ok()); let dag = dag.unwrap(); let ps = dag.all_packages(); @@ -303,7 +316,12 @@ mod tests { let repo = Repository::from(btree); let progress = ProgressBar::hidden(); - let r = Dag::for_root_package(p1, &repo, Some(&progress)); + let condition_data = ConditionData { + image_name: None, + env: &[], + }; + + let r = Dag::for_root_package(p1, &repo, Some(&progress), &condition_data); assert!(r.is_ok()); let r = r.unwrap(); let ps = r.all_packages(); @@ -446,7 +464,12 @@ mod tests { let repo = Repository::from(btree); let progress = ProgressBar::hidden(); - let r = Dag::for_root_package(p1, &repo, Some(&progress)); + let condition_data = ConditionData { + image_name: None, + env: &[], + }; + + let r = Dag::for_root_package(p1, &repo, Some(&progress), &condition_data); assert!(r.is_ok()); let r = r.unwrap(); let ps = r.all_packages(); @@ -551,7 +574,12 @@ mod tests { let repo = Repository::from(btree); let progress = ProgressBar::hidden(); - let r = Dag::for_root_package(p1, &repo, Some(&progress)); + let condition_data = ConditionData { + image_name: None, + env: &[], + }; + + let r = Dag::for_root_package(p1, &repo, Some(&progress), &condition_data); assert!(r.is_ok()); let r = r.unwrap(); let ps = r.all_packages(); |