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
/// {
/// "packages.some-librewolf-dependency.packaging.fedora": [
/// "packages.librewolf.compilation",
/// "packages.librewolf.packaging.fedora",
/// ],
/// "packages.some-librewolf-dependency.compilation": [
/// "packages.librewolf.compilation",
/// "packages.librewolf.packaging.fedora",
/// "packages.some-librewolf-dependency.packaging.fedora",
/// ],
/// "packages.librewolf.packaging.fedora": [],
/// "packages.librewolf.compilation": [
/// "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>> {
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() {
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
.packages
@ -335,9 +340,6 @@ impl State {
{
let all_deps = recursive_deps_for_package(dep_name.clone(), conf.clone());
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());
}
}