Skip to content

Commit d1703ea

Browse files
committed
Add -package-index optional CLI switch
Will be used to pass folders containing package_index jsons
1 parent af2f827 commit d1703ea

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

src/arduino.cc/arduino-builder/main.go

+10
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,7 @@ const FLAG_HARDWARE = "hardware"
5959
const FLAG_TOOLS = "tools"
6060
const FLAG_BUILT_IN_LIBRARIES = "built-in-libraries"
6161
const FLAG_LIBRARIES = "libraries"
62+
const FLAG_PACKAGE_JSON = "package-index"
6263
const FLAG_PREFS = "prefs"
6364
const FLAG_FQBN = "fqbn"
6465
const FLAG_IDE_VERSION = "ide-version"
@@ -121,6 +122,7 @@ var hardwareFoldersFlag foldersFlag
121122
var toolsFoldersFlag foldersFlag
122123
var librariesBuiltInFoldersFlag foldersFlag
123124
var librariesFoldersFlag foldersFlag
125+
var jsonFoldersFlag foldersFlag
124126
var customBuildPropertiesFlag propertiesFlag
125127
var fqbnFlag *string
126128
var coreAPIVersionFlag *string
@@ -143,6 +145,7 @@ func init() {
143145
flag.Var(&toolsFoldersFlag, FLAG_TOOLS, "Specify a 'tools' folder. Can be added multiple times for specifying multiple 'tools' folders")
144146
flag.Var(&librariesBuiltInFoldersFlag, FLAG_BUILT_IN_LIBRARIES, "Specify a built-in 'libraries' folder. These are low priority libraries. Can be added multiple times for specifying multiple built-in 'libraries' folders")
145147
flag.Var(&librariesFoldersFlag, FLAG_LIBRARIES, "Specify a 'libraries' folder. Can be added multiple times for specifying multiple 'libraries' folders")
148+
flag.Var(&jsonFoldersFlag, FLAG_PACKAGE_JSON, "Specify a folder containing package_index json files. Can be added multiple times for specifying multiple folders")
146149
flag.Var(&customBuildPropertiesFlag, FLAG_PREFS, "Specify a custom preference. Can be added multiple times for specifying multiple custom preferences")
147150
fqbnFlag = flag.String(FLAG_FQBN, "", "fully qualified board name")
148151
coreAPIVersionFlag = flag.String(FLAG_CORE_API_VERSION, "10600", "version of core APIs (used to populate ARDUINO #define)")
@@ -213,6 +216,13 @@ func main() {
213216
ctx.OtherLibrariesFolders = librariesFolders
214217
}
215218

219+
// FLAG_PACKAGE_JSON
220+
if jsonFolders, err := toSliceOfUnquoted(jsonFoldersFlag); err != nil {
221+
printCompleteError(err)
222+
} else if len(jsonFolders) > 0 {
223+
ctx.JsonFolders = jsonFolders
224+
}
225+
216226
// FLAG_BUILT_IN_LIBRARIES
217227
if librariesBuiltInFolders, err := toSliceOfUnquoted(librariesBuiltInFoldersFlag); err != nil {
218228
printCompleteError(err)

src/arduino.cc/builder/types/context.go

+1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ type Context struct {
1515
LibrariesFolders []string
1616
BuiltInLibrariesFolders []string
1717
OtherLibrariesFolders []string
18+
JsonFolders []string
1819
SketchLocation string
1920
ArduinoAPIVersion string
2021
FQBN string

0 commit comments

Comments
 (0)