Skip to content

Commit 6cafff5

Browse files
committed
Add external programmers listing to board details commmand
1 parent 3c16c05 commit 6cafff5

20 files changed

+418
-290
lines changed

Diff for: cli/board/details.go

+17
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
@@ -89,6 +91,16 @@ func (dr detailsResult) Data() interface{} {
8991

9092
func (dr detailsResult) String() string {
9193
details := dr.details
94+
95+
if listProgrammers {
96+
t := table.New()
97+
t.AddRow(tr("Id"), tr("Programmer name"))
98+
for _, programmer := range details.Programmers {
99+
t.AddRow(programmer.GetId(), programmer.GetName())
100+
}
101+
return t.Render()
102+
}
103+
92104
// Table is 4 columns wide:
93105
// | | | | |
94106
// Board name: Arduino Nano
@@ -180,5 +192,10 @@ func (dr detailsResult) String() string {
180192
}
181193
}
182194

195+
t.AddRow(tr("Programmers:"), tr("Id"), tr("Name"))
196+
for _, programmer := range details.Programmers {
197+
t.AddRow("", programmer.GetId(), programmer.GetName())
198+
}
199+
183200
return t.Render()
184201
}

Diff for: commands/board/details.go

+9
Original file line numberDiff line numberDiff line change
@@ -129,5 +129,14 @@ func Details(ctx context.Context, req *rpc.BoardDetailsReq) (*rpc.BoardDetailsRe
129129
})
130130
}
131131

132+
details.Programmers = []*rpc.Programmer{}
133+
for id, p := range boardPlatform.Programmers {
134+
details.Programmers = append(details.Programmers, &rpc.Programmer{
135+
Platform: boardPlatform.Platform.Name,
136+
Id: id,
137+
Name: p.Name,
138+
})
139+
}
140+
132141
return details, nil
133142
}

Diff for: go.mod

+1-1
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/loggo v0.0.0-20190526231331-6e530bcce5d8 // indirect

Diff for: go.sum

+7
Original file line numberDiff line numberDiff line change
@@ -78,13 +78,17 @@ github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfb
7878
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
7979
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
8080
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
81+
github.com/golang/protobuf v1.3.3 h1:gyjaxf+svBWX08ZjK86iN9geUJF0H6gp2IRKX6Nf6/I=
82+
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
8183
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
8284
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
8385
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
8486
github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
8587
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
8688
github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0=
8789
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=
8892
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
8993
github.com/google/go-cmp v0.2.0 h1:+dTQ8DZQJz0Mb/HjFlkptS1FeQ4cWSnN941F8aEG4SQ=
9094
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
@@ -307,6 +311,8 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
307311
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
308312
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
309313
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
314+
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90 h1:7THRSvPuzF1bql5kyFzX0JM0vpGhwuhskgJrJsbZ80Y=
315+
google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
310316
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013 h1:+kGHl1aib/qcwaRi1CbqBZ1rk19r85MNUf8HaBghugY=
311317
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
312318
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
@@ -320,6 +326,7 @@ google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQ
320326
google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
321327
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
322328
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
329+
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
323330
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
324331
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
325332
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=

Diff for: i18n/data/en.po

+48-27
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:112
16+
#: cli/board/details.go:124
1717
msgid "Board name:"
1818
msgstr "Board name:"
1919

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

24-
#: cli/board/details.go:157
24+
#: cli/board/details.go:169
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:155
37+
#: cli/board/details.go:167
3838
msgid "File:"
3939
msgstr "File:"
4040

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

49-
#: cli/board/details.go:125
49+
#: cli/board/details.go:97
50+
#: cli/board/details.go:195
51+
msgid "Id"
52+
msgstr "Id"
53+
54+
#: cli/board/details.go:137
5055
msgid "Identification properties:"
5156
msgstr "Identification properties:"
5257

53-
#: cli/board/details.go:154
58+
#: cli/board/details.go:195
59+
msgid "Name"
60+
msgstr "Name"
61+
62+
#: cli/board/details.go:166
5463
msgid "OS:"
5564
msgstr "OS:"
5665

57-
#: cli/board/details.go:118
66+
#: cli/board/details.go:130
5867
msgid "Official Arduino board:"
5968
msgstr "Official Arduino board:"
6069

61-
#: cli/board/details.go:166
70+
#: cli/board/details.go:178
6271
msgid "Option:"
6372
msgstr "Option:"
6473

65-
#: cli/board/details.go:134
74+
#: cli/board/details.go:146
6675
msgid "Package URL:"
6776
msgstr "Package URL:"
6877

69-
#: cli/board/details.go:133
78+
#: cli/board/details.go:145
7079
msgid "Package maintainer:"
7180
msgstr "Package maintainer:"
7281

73-
#: cli/board/details.go:132
82+
#: cli/board/details.go:144
7483
msgid "Package name:"
7584
msgstr "Package name:"
7685

77-
#: cli/board/details.go:136
86+
#: cli/board/details.go:148
7887
msgid "Package online help:"
7988
msgstr "Package online help:"
8089

81-
#: cli/board/details.go:135
90+
#: cli/board/details.go:147
8291
msgid "Package website:"
8392
msgstr "Package website:"
8493

85-
#: cli/board/details.go:142
94+
#: cli/board/details.go:154
8695
msgid "Platform URL:"
8796
msgstr "Platform URL:"
8897

89-
#: cli/board/details.go:141
98+
#: cli/board/details.go:153
9099
msgid "Platform architecture:"
91100
msgstr "Platform architecture:"
92101

93-
#: cli/board/details.go:140
102+
#: cli/board/details.go:152
94103
msgid "Platform category:"
95104
msgstr "Platform category:"
96105

97-
#: cli/board/details.go:147
106+
#: cli/board/details.go:159
98107
msgid "Platform checksum:"
99108
msgstr "Platform checksum:"
100109

101-
#: cli/board/details.go:143
110+
#: cli/board/details.go:155
102111
msgid "Platform file name:"
103112
msgstr "Platform file name:"
104113

105-
#: cli/board/details.go:139
114+
#: cli/board/details.go:151
106115
msgid "Platform name:"
107116
msgstr "Platform name:"
108117

109-
#: cli/board/details.go:145
118+
#: cli/board/details.go:157
110119
msgid "Platform size (bytes):"
111120
msgstr "Platform size (bytes):"
112121

113-
#: cli/board/details.go:41
122+
#: cli/board/details.go:42
114123
msgid "Print details about a board."
115124
msgstr "Print details about a board."
116125

117-
#: cli/board/details.go:151
126+
#: cli/board/details.go:97
127+
msgid "Programmer name"
128+
msgstr "Programmer name"
129+
130+
#: cli/board/details.go:195
131+
msgid "Programmers:"
132+
msgstr "Programmers:"
133+
134+
#: cli/board/details.go:163
118135
msgid "Required tool:"
119136
msgstr "Required tool:"
120137

121-
#: cli/board/details.go:48
138+
#: cli/board/details.go:49
122139
msgid "Show full board details"
123140
msgstr "Show full board details"
124141

125-
#: cli/board/details.go:42
142+
#: cli/board/details.go:43
126143
msgid "Show information about a board, in particular if the board has options to be specified in the FQBN."
127144
msgstr "Show information about a board, in particular if the board has options to be specified in the FQBN."
128145

129-
#: cli/board/details.go:156
146+
#: cli/board/details.go:51
147+
msgid "Show list of available programmers"
148+
msgstr "Show list of available programmers"
149+
150+
#: cli/board/details.go:168
130151
msgid "Size (bytes):"
131152
msgstr "Size (bytes):"
132153

0 commit comments

Comments
 (0)