PackageManager just because
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

51 lines
706 B

package Package
import (
"PackageManager/Archive"
"PackageManager/Color"
"errors"
"fmt"
"os"
)
func UninstallPackage(pkgs []string) error {
var (
pkgFiles []string
pkg string
f string
e error
)
for _, pkg = range pkgs {
_, e = os.Stat(pkg)
if os.IsNotExist(e) {
return errors.New(fmt.Sprintf("Invalid package %s", pkg))
}
}
for _, pkg = range pkgs {
fmt.Printf(
"Uninstalling %s...\n",
pkg,
)
pkgFiles, e = Archive.GetPackageFilePaths(pkg)
if e != nil {
return e
}
for _, f = range pkgFiles {
e = os.Remove(f)
if e != nil {
return e
}
}
fmt.Printf(
Color.Green("%s uninstalled\n"),
pkg,
)
}
return nil
}