@@ -33,19 +33,20 @@ import (
33
33
"github.com/arduino/arduino-fwuploader/flasher"
34
34
"github.com/arduino/arduino-fwuploader/indexes/download"
35
35
"github.com/arduino/arduino-fwuploader/indexes/firmwareindex"
36
+ "github.com/arduino/arduino-fwuploader/plugin"
36
37
"github.com/arduino/go-paths-helper"
37
38
"github.com/sirupsen/logrus"
38
39
"github.com/spf13/cobra"
39
40
)
40
41
41
42
var (
42
- commonFlags arguments.Flags
43
- certificateURLs []string
44
- certificatePaths []string
43
+ commonFlags arguments.Flags
45
44
)
46
45
47
46
// NewFlashCommand creates a new `flash` command
48
47
func NewFlashCommand () * cobra.Command {
48
+ var certificateURLs []string
49
+ var certificatePaths []string
49
50
command := & cobra.Command {
50
51
Use : "flash" ,
51
52
Short : "Flashes certificates to board." ,
@@ -55,15 +56,17 @@ func NewFlashCommand() *cobra.Command {
55
56
" " + os .Args [0 ] + " certificates flash -b arduino:samd:mkr1000 -a COM10 -u arduino.cc:443 -u google.com:443\n " +
56
57
" " + os .Args [0 ] + " certificates flash -b arduino:samd:mkr1000 -a COM10 -f /home/me/VeriSign.cer -f /home/me/Digicert.cer\n " ,
57
58
Args : cobra .NoArgs ,
58
- Run : runFlash ,
59
+ Run : func (cmd * cobra.Command , args []string ) {
60
+ runFlash (certificateURLs , certificatePaths )
61
+ },
59
62
}
60
63
commonFlags .AddToCommand (command )
61
64
command .Flags ().StringSliceVarP (& certificateURLs , "url" , "u" , []string {}, "List of urls to download root certificates, e.g.: arduino.cc:443" )
62
65
command .Flags ().StringSliceVarP (& certificatePaths , "file" , "f" , []string {}, "List of paths to certificate file, e.g.: /home/me/Digicert.cer" )
63
66
return command
64
67
}
65
68
66
- func runFlash (cmd * cobra. Command , args []string ) {
69
+ func runFlash (certificateURLs , certificatePaths []string ) {
67
70
// at the end cleanup the fwuploader temp dir
68
71
defer globals .FwUploaderPath .RemoveAll ()
69
72
@@ -79,7 +82,7 @@ func runFlash(cmd *cobra.Command, args []string) {
79
82
var res * flasher.FlashResult
80
83
var err error
81
84
if ! board .IsPlugin () {
82
- res , err = flashCertificates (board , uploadToolDir )
85
+ res , err = flashCertificates (board , uploadToolDir , certificateURLs , certificatePaths )
83
86
} else {
84
87
// TODO
85
88
}
@@ -90,7 +93,7 @@ func runFlash(cmd *cobra.Command, args []string) {
90
93
}
91
94
}
92
95
93
- func flashCertificates (board * firmwareindex.IndexBoard , uploadToolDir * paths.Path ) (* flasher.FlashResult , error ) {
96
+ func flashCertificates (board * firmwareindex.IndexBoard , uploadToolDir * paths.Path , certificateURLs , certificatePaths [] string ) (* flasher.FlashResult , error ) {
94
97
loaderSketchPath , err := download .DownloadSketch (board .LoaderSketch )
95
98
if err != nil {
96
99
feedback .Fatal (fmt .Sprintf ("Error downloading loader sketch from %s: %s" , board .LoaderSketch .URL , err ), feedback .ErrGeneric )
0 commit comments