Skip to content

Commit

Permalink
Always use 'installed' version if available
Browse files Browse the repository at this point in the history
  • Loading branch information
cmaglie committed Nov 27, 2023
1 parent cef7c9d commit b352d90
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 5 deletions.
14 changes: 10 additions & 4 deletions commands/lib/resolve_deps.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,7 @@ import (
"github.com/arduino/arduino-cli/arduino/libraries/librariesindex"
"github.com/arduino/arduino-cli/commands/internal/instances"
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
semver "go.bug.st/relaxed-semver"
)

// LibraryResolveDependencies FIXMEDOC
Expand Down Expand Up @@ -80,14 +81,19 @@ func LibraryResolveDependencies(ctx context.Context, req *rpc.LibraryResolveDepe
res := []*rpc.LibraryDependencyStatus{}
for _, dep := range deps {
// ...and add information on currently installed versions of the libraries
installed := ""
var installed *semver.Version
required := dep.GetVersion()
if installedLib, has := installedLibs[dep.GetName()]; has {
installed = installedLib.Version.String()
installed = installedLib.Version
if installed != nil && required != nil && installed.Equal(required) {
// avoid situations like installed=0.53 and required=0.53.0
required = installed
}
}
res = append(res, &rpc.LibraryDependencyStatus{
Name: dep.GetName(),
VersionRequired: dep.GetVersion().String(),
VersionInstalled: installed,
VersionRequired: required.String(),
VersionInstalled: installed.String(),
})
}
sort.Slice(res, func(i, j int) bool {
Expand Down
3 changes: 2 additions & 1 deletion internal/integrationtest/lib/lib_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -1693,6 +1693,7 @@ func TestDependencyResolverNoOverwrite(t *testing.T) {
]
}`)
require.NotEqual(t, outjson.Query("dependencies[0].version_required").String(), `"2.53.0"`)
require.NotEqual(t, outjson.Query("dependencies[0].version_required").String(), `"2.53"`)

out, _, err = cli.Run("lib", "deps", "[email protected]", "--no-overwrite", "--format", "json")
require.NoError(t, err)
Expand All @@ -1701,7 +1702,7 @@ func TestDependencyResolverNoOverwrite(t *testing.T) {
"dependencies": [
{
"name": "Bounce2",
"version_required": "2.53.0",
"version_required": "2.53",
"version_installed": "2.53"
},
{
Expand Down

0 comments on commit b352d90

Please sign in to comment.