change behavior of dependency_map()
This commit is contained in:
parent
00703db338
commit
9ce1d87174
1 changed files with 10 additions and 8 deletions
18
src/main.rs
18
src/main.rs
|
@ -306,25 +306,30 @@ impl State {
|
||||||
///
|
///
|
||||||
/// ```json
|
/// ```json
|
||||||
/// {
|
/// {
|
||||||
/// "packages.some-librewolf-dependency.packaging.fedora": [
|
|
||||||
/// "packages.librewolf.compilation",
|
|
||||||
/// "packages.librewolf.packaging.fedora",
|
|
||||||
/// ],
|
|
||||||
/// "packages.some-librewolf-dependency.compilation": [
|
/// "packages.some-librewolf-dependency.compilation": [
|
||||||
/// "packages.librewolf.compilation",
|
/// "packages.librewolf.compilation",
|
||||||
/// "packages.librewolf.packaging.fedora",
|
/// "packages.librewolf.packaging.fedora",
|
||||||
/// "packages.some-librewolf-dependency.packaging.fedora",
|
/// "packages.some-librewolf-dependency.packaging.fedora",
|
||||||
/// ],
|
/// ],
|
||||||
|
/// "packages.librewolf.packaging.fedora": [],
|
||||||
/// "packages.librewolf.compilation": [
|
/// "packages.librewolf.compilation": [
|
||||||
/// "packages.librewolf.packaging.fedora",
|
/// "packages.librewolf.packaging.fedora",
|
||||||
/// ],
|
/// ],
|
||||||
|
/// "packages.some-librewolf-dependency.packaging.fedora": [
|
||||||
|
/// "packages.librewolf.compilation",
|
||||||
|
/// "packages.librewolf.packaging.fedora",
|
||||||
|
/// ],
|
||||||
/// }
|
/// }
|
||||||
/// ```
|
/// ```
|
||||||
fn dependency_map(jobs: HashMap<String, Job>, conf: Config) -> HashMap<String, Vec<String>> {
|
fn dependency_map(jobs: HashMap<String, Job>, conf: Config) -> HashMap<String, Vec<String>> {
|
||||||
let mut dep_map: HashMap<String, Vec<String>> = HashMap::new(); // holds job ids and every job they depend on (recursively) - not just specified dependencies, also packaging depending on compilation
|
let mut dep_map: HashMap<String, Vec<String>> = HashMap::new(); // holds job ids and every job they depend on (recursively) - not just specified dependencies, also packaging depending on compilation
|
||||||
|
|
||||||
for (job_id, _) in jobs.clone() {
|
for (job_id, _) in jobs.clone() {
|
||||||
let (_, package_name, _) = jod_id_to_metadata(job_id.clone());
|
dep_map.insert(job_id, Vec::new());
|
||||||
|
}
|
||||||
|
|
||||||
|
for (job_id, _) in jobs.clone() {
|
||||||
|
let (_, package_name, _) = job_id_to_metadata(job_id.clone());
|
||||||
|
|
||||||
for dep_name in conf
|
for dep_name in conf
|
||||||
.packages
|
.packages
|
||||||
|
@ -335,9 +340,6 @@ impl State {
|
||||||
{
|
{
|
||||||
let all_deps = recursive_deps_for_package(dep_name.clone(), conf.clone());
|
let all_deps = recursive_deps_for_package(dep_name.clone(), conf.clone());
|
||||||
for dep in all_deps {
|
for dep in all_deps {
|
||||||
if !dep_map.contains_key(&dep) {
|
|
||||||
dep_map.insert(dep.clone(), Vec::new());
|
|
||||||
}
|
|
||||||
dep_map.get_mut(&dep).unwrap().push(job_id.clone());
|
dep_map.get_mut(&dep).unwrap().push(job_id.clone());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue