@@ -32,7 +32,7 @@ import (
3232
3333// LibraryInstall resolves the library dependencies, then downloads and installs the libraries into the install location.
3434// queryParameter is passed for analysis purposes and forwarded to the called functions. It is set to "depends" when a dependency is installed
35- func LibraryInstall (ctx context.Context , req * rpc.LibraryInstallRequest , downloadCB rpc.DownloadProgressCB , taskCB rpc.TaskProgressCB , queryParameter string ) error {
35+ func LibraryInstall (ctx context.Context , req * rpc.LibraryInstallRequest , downloadCB rpc.DownloadProgressCB , taskCB rpc.TaskProgressCB ) error {
3636 lm := commands .GetLibraryManager (req )
3737 if lm == nil {
3838 return & arduino.InvalidInstanceError {}
@@ -98,21 +98,19 @@ func LibraryInstall(ctx context.Context, req *rpc.LibraryInstallRequest, downloa
9898
9999 for libRelease , installTask := range libReleasesToInstall {
100100 // Checks if libRelease is the requested library and not a dependency
101+ downloadReason := "depends"
101102 if libRelease .GetName () == req .Name {
102- if err := downloadLibrary (lm , libRelease , downloadCB , taskCB , queryParameter ); err != nil {
103- return err
104- }
105- if err := installLibrary (lm , libRelease , installTask , taskCB ); err != nil {
106- return err
107- }
108- } else {
109- if err := downloadLibrary (lm , libRelease , downloadCB , taskCB , "depends" ); err != nil {
110- return err
111- }
112- if err := installLibrary (lm , libRelease , installTask , taskCB ); err != nil {
113- return err
103+ downloadReason = "install"
104+ if installTask .ReplacedLib != nil {
105+ downloadReason = "upgrade"
114106 }
115107 }
108+ if err := downloadLibrary (lm , libRelease , downloadCB , taskCB , downloadReason ); err != nil {
109+ return err
110+ }
111+ if err := installLibrary (lm , libRelease , installTask , taskCB ); err != nil {
112+ return err
113+ }
116114 }
117115
118116 if err := commands .Init (& rpc.InitRequest {Instance : req .Instance }, nil ); err != nil {
0 commit comments