@@ -43,7 +43,11 @@ func (s *arduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context,
4343 return nil , err
4444 }
4545
46- deps , err := libraryResolveDependencies (lme , li , req .GetName (), req .GetVersion (), req .GetDoNotUpdateInstalledLibraries ())
46+ var overrides []* librariesindex.Release
47+ if req .GetDoNotUpdateInstalledLibraries () {
48+ overrides = librariesGetAllInstalled (lme , li )
49+ }
50+ deps , err := libraryResolveDependencies (li , req .GetName (), req .GetVersion (), overrides )
4751 if err != nil {
4852 return nil , err
4953 }
@@ -78,8 +82,19 @@ func (s *arduinoCoreServerImpl) LibraryResolveDependencies(ctx context.Context,
7882 return & rpc.LibraryResolveDependenciesResponse {Dependencies : res }, nil
7983}
8084
81- func libraryResolveDependencies (lme * librariesmanager.Explorer , li * librariesindex.Index ,
82- reqName , reqVersion string , noOverwrite bool ) ([]* librariesindex.Release , error ) {
85+ func librariesGetAllInstalled (lme * librariesmanager.Explorer , li * librariesindex.Index ) []* librariesindex.Release {
86+ var overrides []* librariesindex.Release
87+ libs := lme .FindAllInstalled ()
88+ libs = libs .FilterByVersionAndInstallLocation (nil , libraries .User )
89+ for _ , lib := range libs {
90+ if release , err := li .FindRelease (lib .Name , lib .Version ); err == nil {
91+ overrides = append (overrides , release )
92+ }
93+ }
94+ return overrides
95+ }
96+
97+ func libraryResolveDependencies (li * librariesindex.Index , reqName , reqVersion string , overrides []* librariesindex.Release ) ([]* librariesindex.Release , error ) {
8398 version , err := parseVersion (reqVersion )
8499 if err != nil {
85100 return nil , err
@@ -92,16 +107,6 @@ func libraryResolveDependencies(lme *librariesmanager.Explorer, li *librariesind
92107 }
93108
94109 // Resolve all dependencies...
95- var overrides []* librariesindex.Release
96- if noOverwrite {
97- libs := lme .FindAllInstalled ()
98- libs = libs .FilterByVersionAndInstallLocation (nil , libraries .User )
99- for _ , lib := range libs {
100- if release , err := li .FindRelease (lib .Name , lib .Version ); err == nil {
101- overrides = append (overrides , release )
102- }
103- }
104- }
105110 deps := li .ResolveDependencies (reqLibRelease , overrides )
106111
107112 // If no solution has been found
0 commit comments