Skip to content

Commit 61b7906

Browse files
committed
Only use builtin_tools_versions.txt if its folder is builtin
Otherwise, all board manager folder was considered builtin (due to the recursive search in findBuiltinToolsVersionsFile() ) Fixes #246
1 parent 7883e01 commit 61b7906

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/arduino.cc/builder/constants/constants.go

+1
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ const MSG_BUILD_OPTIONS_CHANGED = "Build options changed, rebuilding all"
157157
const MSG_CANT_FIND_SKETCH_IN_PATH = "Unable to find {0} in {1}"
158158
const MSG_FQBN_INVALID = "{0} is not a valid fully qualified board name. Required format is targetPackageName:targetPlatformName:targetBoardName."
159159
const MSG_INVALID_QUOTING = "Invalid quoting: no closing [{0}] char found."
160+
const MSG_IGNORED_BUILTIN_TOOLS_TXT = "Skipping {0}; please consider removing that file since it may hurt older Arduino installations"
160161
const MSG_LIB_LEGACY = "(legacy)"
161162
const MSG_LIBRARIES_MULTIPLE_LIBS_FOUND_FOR = "Multiple libraries were found for \"{0}\""
162163
const MSG_LIBRARIES_NOT_USED = " Not used: {0}"

src/arduino.cc/builder/tools_loader.go

+7
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,13 @@ func (s *ToolsLoader) Run(ctx *types.Context) error {
5252
if err != nil {
5353
return i18n.WrapError(err)
5454
}
55+
builtinHardwareFolder, err := filepath.Abs(filepath.Join(ctx.BuiltInLibrariesFolders[0], ".."))
56+
57+
if builtinToolsVersionsFile != constants.EMPTY_STRING && !strings.Contains(builtinToolsVersionsFile, builtinHardwareFolder) {
58+
ctx.GetLogger().Println(constants.LOG_LEVEL_WARN, constants.MSG_IGNORED_BUILTIN_TOOLS_TXT, builtinToolsVersionsFile)
59+
builtinToolsVersionsFile = constants.EMPTY_STRING
60+
}
61+
5562
if builtinToolsVersionsFile != constants.EMPTY_STRING {
5663
err = loadToolsFrom(&tools, builtinToolsVersionsFile)
5764
if err != nil {

0 commit comments

Comments
 (0)