From 4f1b584e71dd2977abe3e9a09195c8988ccedb42 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Tue, 2 Aug 2016 14:57:42 +0200 Subject: [PATCH] Slightly refactored tool resolution This helps the understanding of next commits --- .../src/processing/app/BaseNoGui.java | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/arduino-core/src/processing/app/BaseNoGui.java b/arduino-core/src/processing/app/BaseNoGui.java index 027c60a84..5aa0c1895 100644 --- a/arduino-core/src/processing/app/BaseNoGui.java +++ b/arduino-core/src/processing/app/BaseNoGui.java @@ -164,16 +164,20 @@ public class BaseNoGui { prefs.put("name", extendedName); // Resolve tools needed for this board + List requiredTools = new ArrayList<>(); + + // Add all tools dependencies specified in package index ContributedPlatform platform = indexer.getContributedPlaform(getTargetPlatform()); - if (platform != null) { - String prefix = "runtime.tools."; - for (ContributedTool tool : platform.getResolvedTools()) { - File folder = tool.getDownloadableContribution(getPlatform()).getInstalledFolder(); - String toolPath = folder.getAbsolutePath(); - prefs.put(prefix + tool.getName() + ".path", toolPath); - PreferencesData.set(prefix + tool.getName() + ".path", toolPath); - PreferencesData.set(prefix + tool.getName() + "-" + tool.getVersion() + ".path", toolPath); - } + if (platform != null) + requiredTools.addAll(platform.getResolvedTools()); + + String prefix = "runtime.tools."; + for (ContributedTool tool : requiredTools) { + File folder = tool.getDownloadableContribution(getPlatform()).getInstalledFolder(); + String toolPath = folder.getAbsolutePath(); + prefs.put(prefix + tool.getName() + ".path", toolPath); + PreferencesData.set(prefix + tool.getName() + ".path", toolPath); + PreferencesData.set(prefix + tool.getName() + "-" + tool.getVersion() + ".path", toolPath); } return prefs; }