@@ -24,6 +24,7 @@ import (
24
24
"github.com/arduino/arduino-cli/commands/lib"
25
25
"github.com/arduino/arduino-cli/internal/cli/arguments"
26
26
"github.com/arduino/arduino-cli/internal/cli/feedback"
27
+ fResult "github.com/arduino/arduino-cli/internal/cli/feedback/result"
27
28
"github.com/arduino/arduino-cli/internal/cli/instance"
28
29
rpc "github.com/arduino/arduino-cli/rpc/cc/arduino/cli/commands/v1"
29
30
"github.com/fatih/color"
@@ -65,20 +66,23 @@ func runDepsCommand(cmd *cobra.Command, args []string) {
65
66
feedback .Fatal (tr ("Error resolving dependencies for %[1]s: %[2]s" , libRef , err ), feedback .ErrGeneric )
66
67
}
67
68
68
- feedback .PrintResult (& checkDepResult {deps : deps })
69
+ feedback .PrintResult (& checkDepResult {deps : fResult . NewLibraryResolveDependenciesResponse ( deps ) })
69
70
}
70
71
71
72
// output from this command requires special formatting, let's create a dedicated
72
73
// feedback.Result implementation
73
74
type checkDepResult struct {
74
- deps * rpc .LibraryResolveDependenciesResponse
75
+ deps * fResult .LibraryResolveDependenciesResponse
75
76
}
76
77
77
78
func (dr checkDepResult ) Data () interface {} {
78
79
return dr .deps
79
80
}
80
81
81
82
func (dr checkDepResult ) String () string {
83
+ if dr .deps == nil || dr .deps .Dependencies == nil {
84
+ return ""
85
+ }
82
86
res := ""
83
87
deps := dr .deps .Dependencies
84
88
@@ -91,26 +95,29 @@ func (dr checkDepResult) String() string {
91
95
})
92
96
93
97
for _ , dep := range deps {
98
+ if dep == nil {
99
+ continue
100
+ }
94
101
res += outputDep (dep )
95
102
}
96
103
return res
97
104
}
98
105
99
- func outputDep (dep * rpc .LibraryDependencyStatus ) string {
106
+ func outputDep (dep * fResult .LibraryDependencyStatus ) string {
100
107
res := ""
101
108
green := color .New (color .FgGreen )
102
109
red := color .New (color .FgRed )
103
110
yellow := color .New (color .FgYellow )
104
- if dep .GetVersionInstalled () == "" {
111
+ if dep .VersionInstalled == "" {
105
112
res += tr ("%s must be installed." ,
106
- red .Sprintf ("✕ %s %s" , dep .GetName () , dep .GetVersionRequired () ))
107
- } else if dep .GetVersionInstalled () == dep .GetVersionRequired () {
113
+ red .Sprintf ("✕ %s %s" , dep .Name , dep .VersionRequired ))
114
+ } else if dep .VersionInstalled == dep .VersionRequired {
108
115
res += tr ("%s is already installed." ,
109
- green .Sprintf ("✓ %s %s" , dep .GetName () , dep .GetVersionRequired () ))
116
+ green .Sprintf ("✓ %s %s" , dep .Name , dep .VersionRequired ))
110
117
} else {
111
118
res += tr ("%[1]s is required but %[2]s is currently installed." ,
112
- yellow .Sprintf ("✕ %s %s" , dep .GetName () , dep .GetVersionRequired () ),
113
- yellow .Sprintf ("%s" , dep .GetVersionInstalled () ))
119
+ yellow .Sprintf ("✕ %s %s" , dep .Name , dep .VersionRequired ),
120
+ yellow .Sprintf ("%s" , dep .VersionInstalled ))
114
121
}
115
122
res += "\n "
116
123
return res
0 commit comments