mirror of
https://github.com/EnumeratedDev/bpm.git
synced 2026-09-16 02:26:12 +00:00
Add new flags to the 'list' subcommand
This commit is contained in:
@@ -62,6 +62,9 @@ func main() {
|
|||||||
currentFlagSet.StringP("root", "R", "/", "Operate on specified root directory")
|
currentFlagSet.StringP("root", "R", "/", "Operate on specified root directory")
|
||||||
currentFlagSet.BoolP("count", "c", false, "Show total package count")
|
currentFlagSet.BoolP("count", "c", false, "Show total package count")
|
||||||
currentFlagSet.BoolP("names", "n", false, "Show all package names")
|
currentFlagSet.BoolP("names", "n", false, "Show all package names")
|
||||||
|
currentFlagSet.Bool("manual", false, "Show packages installed as dependencies")
|
||||||
|
currentFlagSet.Bool("depends", false, "Show packages installed as dependencies")
|
||||||
|
currentFlagSet.Bool("make-depends", false, "Show packages installed as make dependencies")
|
||||||
setupFlagsAndHelp(currentFlagSet, fmt.Sprintf("bpm %s <options>", subcommand), "List packages", os.Args[2:])
|
setupFlagsAndHelp(currentFlagSet, fmt.Sprintf("bpm %s <options>", subcommand), "List packages", os.Args[2:])
|
||||||
|
|
||||||
showPackageList()
|
showPackageList()
|
||||||
@@ -249,6 +252,15 @@ func showPackageList() {
|
|||||||
rootDir, _ := currentFlagSet.GetString("root")
|
rootDir, _ := currentFlagSet.GetString("root")
|
||||||
showPkgCount, _ := currentFlagSet.GetBool("count")
|
showPkgCount, _ := currentFlagSet.GetBool("count")
|
||||||
showPkgNames, _ := currentFlagSet.GetBool("names")
|
showPkgNames, _ := currentFlagSet.GetBool("names")
|
||||||
|
showManual, _ := currentFlagSet.GetBool("manual")
|
||||||
|
showDepends, _ := currentFlagSet.GetBool("depends")
|
||||||
|
showMakeDepends, _ := currentFlagSet.GetBool("make-depends")
|
||||||
|
|
||||||
|
if !isFlagSet(currentFlagSet, "manual") && !isFlagSet(currentFlagSet, "depends") && !isFlagSet(currentFlagSet, "make-depends") {
|
||||||
|
showManual = true
|
||||||
|
showDepends = true
|
||||||
|
showMakeDepends = true
|
||||||
|
}
|
||||||
|
|
||||||
// Read local databases
|
// Read local databases
|
||||||
err := bpmlib.ReadLocalDatabaseFiles()
|
err := bpmlib.ReadLocalDatabaseFiles()
|
||||||
@@ -268,6 +280,17 @@ func showPackageList() {
|
|||||||
fmt.Println(len(packages))
|
fmt.Println(len(packages))
|
||||||
} else if showPkgNames {
|
} else if showPkgNames {
|
||||||
for _, pkg := range packages {
|
for _, pkg := range packages {
|
||||||
|
installationReason := bpmlib.GetInstallationReason(pkg, rootDir)
|
||||||
|
if installationReason == bpmlib.InstallationReasonManual && !showManual {
|
||||||
|
continue
|
||||||
|
} else if installationReason == bpmlib.InstallationReasonDependency && !showDepends {
|
||||||
|
continue
|
||||||
|
} else if installationReason == bpmlib.InstallationReasonMakeDependency && !showMakeDepends {
|
||||||
|
continue
|
||||||
|
} else if installationReason == bpmlib.InstallationReasonUnknown && (!showManual || !showDepends || !showMakeDepends) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
fmt.Println(pkg)
|
fmt.Println(pkg)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -281,6 +304,18 @@ func showPackageList() {
|
|||||||
fmt.Printf("Package (%s) could not be found\n", pkg)
|
fmt.Printf("Package (%s) could not be found\n", pkg)
|
||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
|
installationReason := bpmlib.GetInstallationReason(info.Name, rootDir)
|
||||||
|
if installationReason == bpmlib.InstallationReasonManual && !showManual {
|
||||||
|
continue
|
||||||
|
} else if installationReason == bpmlib.InstallationReasonDependency && !showDepends {
|
||||||
|
continue
|
||||||
|
} else if installationReason == bpmlib.InstallationReasonMakeDependency && !showMakeDepends {
|
||||||
|
continue
|
||||||
|
} else if installationReason == bpmlib.InstallationReasonUnknown && (!showManual || !showDepends || !showMakeDepends) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
if n != 0 {
|
if n != 0 {
|
||||||
fmt.Println()
|
fmt.Println()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ func GetInstalledPackages(rootDir string) (ret []string, err error) {
|
|||||||
ret = append(ret, bpmpkg.PkgInfo.Name)
|
ret = append(ret, bpmpkg.PkgInfo.Name)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Sort packages
|
||||||
|
slices.Sort(ret)
|
||||||
|
|
||||||
return ret, nil
|
return ret, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user