Skip to content

Commit 4bf03a0

Browse files
committed
Do not try to split as folders command line params that are not folders
See arduino/Arduino#4702 See arduino/Arduino#4853 Signed-off-by: Cristian Maglie <[email protected]>
1 parent 173974f commit 4bf03a0

File tree

1 file changed

+23
-10
lines changed

1 file changed

+23
-10
lines changed

Diff for: main.go

+23-10
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,13 @@ const FLAG_LOGGER_MACHINE = "machine"
7777
const FLAG_VERSION = "version"
7878
const FLAG_VID_PID = "vid-pid"
7979

80-
type slice []string
80+
type foldersFlag []string
8181

82-
func (h *slice) String() string {
82+
func (h *foldersFlag) String() string {
8383
return fmt.Sprint(*h)
8484
}
8585

86-
func (h *slice) Set(csv string) error {
86+
func (h *foldersFlag) Set(csv string) error {
8787
var values []string
8888
if strings.Contains(csv, string(os.PathListSeparator)) {
8989
values = strings.Split(csv, string(os.PathListSeparator))
@@ -99,15 +99,28 @@ func (h *slice) Set(csv string) error {
9999
return nil
100100
}
101101

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+
102115
var compileFlag *bool
103116
var preprocessFlag *bool
104117
var dumpPrefsFlag *bool
105118
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
111124
var fqbnFlag *string
112125
var coreAPIVersionFlag *string
113126
var ideVersionFlag *string
@@ -336,7 +349,7 @@ func main() {
336349
defer os.Exit(exitCode)
337350
}
338351

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) {
340353
values, err := toSliceOfUnquoted(cliFlag)
341354
if err != nil {
342355
return err, true
@@ -364,7 +377,7 @@ func toExitCode(err error) int {
364377
return 1
365378
}
366379

367-
func toSliceOfUnquoted(value slice) ([]string, error) {
380+
func toSliceOfUnquoted(value []string) ([]string, error) {
368381
var values []string
369382
for _, v := range value {
370383
v, err := gohasissues.Unquote(v)

0 commit comments

Comments
 (0)