From 13d061a3b270ee5d7531be3e4cd7c2f92754b7e3 Mon Sep 17 00:00:00 2001 From: Massimiliano Pippi Date: Tue, 23 Jul 2019 09:46:40 +0200 Subject: [PATCH] do not exit with an error if lib is not present --- commands/lib/uninstall.go | 17 +++++++++++------ commands/lib/utils.go | 13 ------------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/commands/lib/uninstall.go b/commands/lib/uninstall.go index ae4808694d2..fb187c3f79d 100644 --- a/commands/lib/uninstall.go +++ b/commands/lib/uninstall.go @@ -28,15 +28,20 @@ import ( // LibraryUninstall FIXMEDOC func LibraryUninstall(ctx context.Context, req *rpc.LibraryUninstallReq, taskCB commands.TaskProgressCB) error { lm := commands.GetLibraryManager(req) - - lib, err := findLibrary(lm, req) + ref, err := createLibIndexReference(lm, req) if err != nil { - return fmt.Errorf("looking for library: %s", err) + return err } - taskCB(&rpc.TaskProgress{Name: "Uninstalling " + lib.String()}) - lm.Uninstall(lib) - taskCB(&rpc.TaskProgress{Completed: true}) + lib := lm.FindByReference(ref) + + if lib == nil { + taskCB(&rpc.TaskProgress{Message: fmt.Sprintf("Library %s is not installed", req.Name), Completed: true}) + } else { + taskCB(&rpc.TaskProgress{Name: "Uninstalling " + lib.String()}) + lm.Uninstall(lib) + taskCB(&rpc.TaskProgress{Completed: true}) + } return nil } diff --git a/commands/lib/utils.go b/commands/lib/utils.go index f9a518f7924..d862804e63b 100644 --- a/commands/lib/utils.go +++ b/commands/lib/utils.go @@ -20,7 +20,6 @@ package lib import ( "fmt" - "github.com/arduino/arduino-cli/arduino/libraries" "github.com/arduino/arduino-cli/arduino/libraries/librariesindex" "github.com/arduino/arduino-cli/arduino/libraries/librariesmanager" "github.com/arduino/arduino-cli/commands" @@ -51,15 +50,3 @@ func findLibraryIndexRelease(lm *librariesmanager.LibrariesManager, req libraryR } return lib, nil } - -func findLibrary(lm *librariesmanager.LibrariesManager, req libraryReferencer) (*libraries.Library, error) { - ref, err := createLibIndexReference(lm, req) - if err != nil { - return nil, err - } - lib := lm.FindByReference(ref) - if lib == nil { - return nil, fmt.Errorf("library %s is not installed", ref) - } - return lib, nil -}