Skip to content

Commit b412df7

Browse files
committed
Add external programmers listing to board details commmand
1 parent 1af8366 commit b412df7

20 files changed

+411
-290
lines changed

cli/board/details.go

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ import (
3434
var tr = i18n.Tr
3535
var showFullDetails bool
3636
var fqbn string
37+
var listProgrammers bool
3738

3839
func initDetailsCommand() *cobra.Command {
3940
var detailsCommand = &cobra.Command{
@@ -47,6 +48,7 @@ func initDetailsCommand() *cobra.Command {
4748

4849
detailsCommand.Flags().BoolVarP(&showFullDetails, "full", "f", false, tr("Show full board details"))
4950
detailsCommand.Flags().StringVarP(&fqbn, "fqbn", "b", "", "Fully Qualified Board Name, e.g.: arduino:avr:uno")
51+
detailsCommand.Flags().BoolVarP(&listProgrammers, "list-programmers", "", false, tr("Show list of available programmers"))
5052
// detailsCommand.MarkFlagRequired("fqbn") // enable once `board details <fqbn>` is removed
5153

5254
return detailsCommand
@@ -103,6 +105,15 @@ func (dr detailsResult) String() string {
103105
// ATmega168 cpu=atmega168
104106
t := table.New()
105107
t.SetColumnWidthMode(1, table.Average)
108+
109+
if listProgrammers {
110+
t.AddRow(tr("Programmers:"), tr("Id"), tr("Name"))
111+
for _, programmer := range details.Programmers {
112+
t.AddRow("", programmer.GetId(), programmer.GetName())
113+
}
114+
return t.Render()
115+
}
116+
106117
t.AddRow(tr("Board name:"), details.Name)
107118
t.AddRow("FQBN:", details.Fqbn)
108119
t.AddRow(tr("Board version:"), details.Version)
@@ -172,5 +183,10 @@ func (dr detailsResult) String() string {
172183
}
173184
}
174185

186+
t.AddRow(tr("Programmers:"), tr("Id"), tr("Name"))
187+
for _, programmer := range details.Programmers {
188+
t.AddRow("", programmer.GetId(), programmer.GetName())
189+
}
190+
175191
return t.Render()
176192
}

commands/board/details.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,5 +126,14 @@ func Details(ctx context.Context, req *rpc.BoardDetailsReq) (*rpc.BoardDetailsRe
126126
})
127127
}
128128

129+
details.Programmers = []*rpc.Programmer{}
130+
for id, p := range boardPlatform.Programmers {
131+
details.Programmers = append(details.Programmers, &rpc.Programmer{
132+
Platform: boardPlatform.Platform.Name,
133+
Id: id,
134+
Name: p.Name,
135+
})
136+
}
137+
129138
return details, nil
130139
}

go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ require (
2020
github.com/fluxio/iohelpers v0.0.0-20160419043813-3a4dd67a94d2 // indirect
2121
github.com/fluxio/multierror v0.0.0-20160419044231-9c68d39025e5 // indirect
2222
github.com/gofrs/uuid v3.2.0+incompatible
23-
github.com/golang/protobuf v1.4.1
23+
github.com/golang/protobuf v1.4.2
2424
github.com/h2non/filetype v1.0.8 // indirect
2525
github.com/imjasonmiller/godice v0.1.2
2626
github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5 // indirect

go.sum

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,8 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W
8787
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
8888
github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0=
8989
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
90+
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
91+
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
9092
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
9193
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
9294
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -153,6 +155,7 @@ github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrk
153155
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
154156
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
155157
github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U=
158+
github.com/nkovacs/streamquote v1.0.0 h1:PmVIV08Zlx2lZK5fFZlMZ04eHcDTIFJCv/5/0twVUow=
156159
github.com/nkovacs/streamquote v1.0.0/go.mod h1:BN+NaZ2CmdKqUuTUXUEm9j95B2TRbpOWpxbJYzzgUsc=
157160
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
158161
github.com/oleksandr/bonjour v0.0.0-20160508152359-5dcf00d8b228 h1:Cvfd2dOlXIPTeEkOT/h8PyK4phBngOM4at9/jlgy7d4=
@@ -311,6 +314,7 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ
311314
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
312315
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
313316
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
317+
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
314318
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
315319
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
316320
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=

i18n/data/en.po

Lines changed: 46 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -13,28 +13,28 @@ msgstr "Aliases:"
1313
msgid "Available Commands:"
1414
msgstr "Available Commands:"
1515

16-
#: cli/board/details.go:106
16+
#: cli/board/details.go:117
1717
msgid "Board name:"
1818
msgstr "Board name:"
1919

20-
#: cli/board/details.go:108
20+
#: cli/board/details.go:119
2121
msgid "Board version:"
2222
msgstr "Board version:"
2323

24-
#: cli/board/details.go:149
24+
#: cli/board/details.go:160
2525
msgid "Checksum:"
2626
msgstr "Checksum:"
2727

28-
#: cli/board/details.go:58
29-
#: cli/board/details.go:73
28+
#: cli/board/details.go:60
29+
#: cli/board/details.go:75
3030
msgid "Error getting board details: %v"
3131
msgstr "Error getting board details: %v"
3232

3333
#: cli/usage.go:27
3434
msgid "Examples:"
3535
msgstr "Examples:"
3636

37-
#: cli/board/details.go:147
37+
#: cli/board/details.go:158
3838
msgid "File:"
3939
msgstr "File:"
4040

@@ -46,87 +46,106 @@ msgstr "Flags:"
4646
msgid "Global Flags:"
4747
msgstr "Global Flags:"
4848

49-
#: cli/board/details.go:119
49+
#: cli/board/details.go:110
50+
#: cli/board/details.go:186
51+
msgid "Id"
52+
msgstr "Id"
53+
54+
#: cli/board/details.go:130
5055
msgid "Identification properties:"
5156
msgstr "Identification properties:"
5257

53-
#: cli/board/details.go:146
58+
#: cli/board/details.go:110
59+
#: cli/board/details.go:186
60+
msgid "Name"
61+
msgstr "Name"
62+
63+
#: cli/board/details.go:157
5464
msgid "OS:"
5565
msgstr "OS:"
5666

57-
#: cli/board/details.go:112
67+
#: cli/board/details.go:123
5868
msgid "Official Arduino board:"
5969
msgstr "Official Arduino board:"
6070

61-
#: cli/board/details.go:158
71+
#: cli/board/details.go:169
6272
msgid "Option:"
6373
msgstr "Option:"
6474

65-
#: cli/board/details.go:128
75+
#: cli/board/details.go:139
6676
msgid "Package URL:"
6777
msgstr "Package URL:"
6878

69-
#: cli/board/details.go:127
79+
#: cli/board/details.go:138
7080
msgid "Package maintainer:"
7181
msgstr "Package maintainer:"
7282

73-
#: cli/board/details.go:126
83+
#: cli/board/details.go:137
7484
msgid "Package name:"
7585
msgstr "Package name:"
7686

77-
#: cli/board/details.go:130
87+
#: cli/board/details.go:141
7888
msgid "Package online help:"
7989
msgstr "Package online help:"
8090

81-
#: cli/board/details.go:129
91+
#: cli/board/details.go:140
8292
msgid "Package website:"
8393
msgstr "Package website:"
8494

85-
#: cli/board/details.go:136
95+
#: cli/board/details.go:147
8696
msgid "Platform URL:"
8797
msgstr "Platform URL:"
8898

89-
#: cli/board/details.go:135
99+
#: cli/board/details.go:146
90100
msgid "Platform architecture:"
91101
msgstr "Platform architecture:"
92102

93-
#: cli/board/details.go:134
103+
#: cli/board/details.go:145
94104
msgid "Platform category:"
95105
msgstr "Platform category:"
96106

97-
#: cli/board/details.go:139
107+
#: cli/board/details.go:150
98108
msgid "Platform checksum:"
99109
msgstr "Platform checksum:"
100110

101-
#: cli/board/details.go:137
111+
#: cli/board/details.go:148
102112
msgid "Platform file name:"
103113
msgstr "Platform file name:"
104114

105-
#: cli/board/details.go:133
115+
#: cli/board/details.go:144
106116
msgid "Platform name:"
107117
msgstr "Platform name:"
108118

109-
#: cli/board/details.go:138
119+
#: cli/board/details.go:149
110120
msgid "Platform size (bytes):"
111121
msgstr "Platform size (bytes):"
112122

113-
#: cli/board/details.go:41
123+
#: cli/board/details.go:42
114124
msgid "Print details about a board."
115125
msgstr "Print details about a board."
116126

117-
#: cli/board/details.go:143
127+
#: cli/board/details.go:110
128+
#: cli/board/details.go:186
129+
msgid "Programmers:"
130+
msgstr "Programmers:"
131+
132+
#: cli/board/details.go:154
118133
msgid "Required tool:"
119134
msgstr "Required tool:"
120135

121-
#: cli/board/details.go:48
136+
#: cli/board/details.go:49
122137
msgid "Show full board details"
123138
msgstr "Show full board details"
124139

125-
#: cli/board/details.go:42
140+
#: cli/board/details.go:43
126141
msgid "Show information about a board, in particular if the board has options to be specified in the FQBN."
127142
msgstr "Show information about a board, in particular if the board has options to be specified in the FQBN."
128143

129-
#: cli/board/details.go:148
144+
#: cli/board/details.go:51
145+
msgid "Show list of available programmers"
146+
msgstr "Show list of available programmers"
147+
148+
#: cli/board/details.go:159
130149
msgid "Size (bytes):"
131150
msgstr "Size (bytes):"
132151

0 commit comments

Comments
 (0)