change behavior of dependency_map()

This commit is contained in:
askiiart 2025-01-31 19:36:39 -06:00
parent 00703db338
commit 9ce1d87174
Signed by untrusted user who does not match committer: askiiart
GPG key ID: 6A32977DAF31746A

View file

@ -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());
} }
} }