@@ -77,13 +77,13 @@ const FLAG_LOGGER_MACHINE = "machine"
77
77
const FLAG_VERSION = "version"
78
78
const FLAG_VID_PID = "vid-pid"
79
79
80
- type slice []string
80
+ type foldersFlag []string
81
81
82
- func (h * slice ) String () string {
82
+ func (h * foldersFlag ) String () string {
83
83
return fmt .Sprint (* h )
84
84
}
85
85
86
- func (h * slice ) Set (csv string ) error {
86
+ func (h * foldersFlag ) Set (csv string ) error {
87
87
var values []string
88
88
if strings .Contains (csv , string (os .PathListSeparator )) {
89
89
values = strings .Split (csv , string (os .PathListSeparator ))
@@ -99,15 +99,28 @@ func (h *slice) Set(csv string) error {
99
99
return nil
100
100
}
101
101
102
+ type propertiesFlag []string
103
+
104
+ func (h * propertiesFlag ) String () string {
105
+ return fmt .Sprint (* h )
106
+ }
107
+
108
+ func (h * propertiesFlag ) Set (value string ) error {
109
+ value = strings .TrimSpace (value )
110
+ * h = append (* h , value )
111
+
112
+ return nil
113
+ }
114
+
102
115
var compileFlag * bool
103
116
var preprocessFlag * bool
104
117
var dumpPrefsFlag * bool
105
118
var buildOptionsFileFlag * string
106
- var hardwareFoldersFlag slice
107
- var toolsFoldersFlag slice
108
- var librariesBuiltInFoldersFlag slice
109
- var librariesFoldersFlag slice
110
- var customBuildPropertiesFlag slice
119
+ var hardwareFoldersFlag foldersFlag
120
+ var toolsFoldersFlag foldersFlag
121
+ var librariesBuiltInFoldersFlag foldersFlag
122
+ var librariesFoldersFlag foldersFlag
123
+ var customBuildPropertiesFlag propertiesFlag
111
124
var fqbnFlag * string
112
125
var coreAPIVersionFlag * string
113
126
var ideVersionFlag * string
@@ -336,7 +349,7 @@ func main() {
336
349
defer os .Exit (exitCode )
337
350
}
338
351
339
- func setContextSliceKeyOrLoadItFromOptions (context map [string ]interface {}, cliFlag slice , buildOptions map [string ]string , contextKey string , paramName string , mandatory bool ) (error , bool ) {
352
+ func setContextSliceKeyOrLoadItFromOptions (context map [string ]interface {}, cliFlag [] string , buildOptions map [string ]string , contextKey string , paramName string , mandatory bool ) (error , bool ) {
340
353
values , err := toSliceOfUnquoted (cliFlag )
341
354
if err != nil {
342
355
return err , true
@@ -364,7 +377,7 @@ func toExitCode(err error) int {
364
377
return 1
365
378
}
366
379
367
- func toSliceOfUnquoted (value slice ) ([]string , error ) {
380
+ func toSliceOfUnquoted (value [] string ) ([]string , error ) {
368
381
var values []string
369
382
for _ , v := range value {
370
383
v , err := gohasissues .Unquote (v )
0 commit comments