Skip to content

Commit 5dd4935

Browse files
author
Federico Fissore
committed
Don't add keys (and display a warning) if the missing key doesn't make sense in target platform.txt. For a key to make sense, two tree level must be present already, eg: tools.avrdude
1 parent 6e9d0e5 commit 5dd4935

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

arduino-core/src/processing/app/debug/LegacyTargetPlatform.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,13 @@ private void rewriteKeysOfOldPlatformsTxtAndWarnAboutIt() throws IOException {
162162

163163
PreferencesMap addedProps = platformRewriteProps.subTree("added");
164164
for (Map.Entry<String, String> entry : addedProps.entrySet()) {
165-
if (!preferences.containsKey(entry.getKey())) {
166-
System.err.println(I18n.format(_("Warning: platform.txt from core '{0}' misses property {1}, automatically set to {2}. Consider upgrading this core."), platformName, entry.getKey(), entry.getValue()));
167-
preferences.put(entry.getKey(), entry.getValue());
165+
String keyToAdd = entry.getKey();
166+
String[] keyToAddParts = keyToAdd.split("\\.");
167+
String keyToAddFirstLevel = keyToAddParts[0];
168+
String keyToAddSecondLevel = keyToAddParts[0] + "." + keyToAddParts[1];
169+
if (!preferences.subTree(keyToAddFirstLevel).isEmpty() && !preferences.subTree(keyToAddSecondLevel).isEmpty() && !preferences.containsKey(keyToAdd)) {
170+
System.err.println(I18n.format(_("Warning: platform.txt from core '{0}' misses property {1}, automatically set to {2}. Consider upgrading this core."), platformName, keyToAdd, entry.getValue()));
171+
preferences.put(keyToAdd, entry.getValue());
168172
}
169173
}
170174
}

0 commit comments

Comments
 (0)