@@ -77,13 +77,13 @@ const FLAG_LOGGER_MACHINE = "machine"
7777const FLAG_VERSION = "version"
7878const 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+
102115var compileFlag * bool
103116var preprocessFlag * bool
104117var dumpPrefsFlag * bool
105118var 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
111124var fqbnFlag * string
112125var coreAPIVersionFlag * string
113126var 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