- package Package
-
- import (
- "PackageManager/Archive"
- "PackageManager/Color"
- "PackageManager/Variables"
- "fmt"
- "os"
- "path/filepath"
- )
-
- func UninstallPackage(pkgs []string) error {
- var (
- pkgFiles []string
- pkg string
- f string
- err error
- )
-
- for _, pkg = range pkgs {
- _, err = os.Stat(pkg)
- if os.IsNotExist(err) {
- return fmt.Errorf("invalid package %s", pkg)
- }
- }
-
- for _, pkg = range pkgs {
- fmt.Printf(
- "Uninstalling %s...\n",
- pkg,
- )
-
- pkgFiles, err = Archive.GetPackageFilePaths(pkg)
- if err != nil {
- return err
- }
-
- for _, f = range pkgFiles {
- err = os.Remove(filepath.Join(Variables.RootDir, f))
- if os.IsNotExist(err) {
- continue
- }
- if err != nil {
- return err
- }
- }
-
- fmt.Printf(
- Color.Green("%s uninstalled\n"),
- pkg,
- )
- }
-
- return nil
- }
|