Add more functionality to ignored packages

This commit is contained in:
2025-10-28 19:50:46 +02:00
parent fb821b3190
commit 089bc61d58
3 changed files with 20 additions and 1 deletions
+6
View File
@@ -47,6 +47,12 @@ func (pkgInfo *PackageInfo) GetDependencies(includeMakeDepends, includeOptionalD
} }
} }
} }
// Skip ignored packages
allDepends = slices.DeleteFunc(allDepends, func(depend pkgInstallationReason) bool {
return slices.Contains(MainBPMConfig.IgnorePackages, depend.PkgName)
})
return allDepends return allDepends
} }
+13
View File
@@ -221,6 +221,11 @@ func RemovePackages(rootDir string, force, cleanupDependencies bool, packages ..
// Get packages and their dependants // Get packages and their dependants
packageDepndants := make(map[string][]string, 0) packageDepndants := make(map[string][]string, 0)
for _, action := range operation.Actions { for _, action := range operation.Actions {
// Skip package if ignored
if slices.Contains(MainBPMConfig.IgnorePackages, action.(*RemovePackageAction).BpmPackage.PkgInfo.Name) {
continue
}
dependants := action.(*RemovePackageAction).BpmPackage.PkgInfo.GetPackageDependants(rootDir) dependants := action.(*RemovePackageAction).BpmPackage.PkgInfo.GetPackageDependants(rootDir)
packageDepndants[action.(*RemovePackageAction).BpmPackage.PkgInfo.Name] = dependants packageDepndants[action.(*RemovePackageAction).BpmPackage.PkgInfo.Name] = dependants
} }
@@ -234,6 +239,14 @@ func RemovePackages(rootDir string, force, cleanupDependencies bool, packages ..
packageDepndants[pkg] = required packageDepndants[pkg] = required
} }
// Remove dependant packages if ignored
for pkg, required := range packageDepndants {
required = slices.DeleteFunc(required, func(pkgName string) bool {
return slices.Contains(MainBPMConfig.IgnorePackages, pkgName)
})
packageDepndants[pkg] = required
}
// Remove empty keys from map // Remove empty keys from map
maps.DeleteFunc(packageDepndants, func(pkg string, required []string) bool { maps.DeleteFunc(packageDepndants, func(pkg string, required []string) bool {
return len(required) == 0 return len(required) == 0
+1 -1
View File
@@ -229,7 +229,7 @@ func (operation *BPMOperation) Cleanup(cleanupMakeDepends bool) error {
keepPackages = append(keepPackages, pkg.Name) keepPackages = append(keepPackages, pkg.Name)
resolved := pkg.GetDependenciesRecursive(!cleanupMakeDepends, operation.RootDir) resolved := pkg.GetDependenciesRecursive(!cleanupMakeDepends, operation.RootDir)
for _, value := range resolved { for _, value := range resolved {
if !slices.Contains(keepPackages, value) { if !slices.Contains(keepPackages, value) && !slices.Contains(MainBPMConfig.IgnorePackages, value) {
keepPackages = append(keepPackages, value) keepPackages = append(keepPackages, value)
} }
} }