From 116cad067e60ada3c0719d9cae191f530d7d0a08 Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Mon, 25 Sep 2017 15:44:39 +0200 Subject: [PATCH] Created getAllHardwareFolders and getAllToolsFolders --- arduino-core/src/cc/arduino/Compiler.java | 11 +--- .../src/processing/app/BaseNoGui.java | 62 +++++++++++++++++-- 2 files changed, 58 insertions(+), 15 deletions(-) diff --git a/arduino-core/src/cc/arduino/Compiler.java b/arduino-core/src/cc/arduino/Compiler.java index 99efc9cc8..c501c32b2 100644 --- a/arduino-core/src/cc/arduino/Compiler.java +++ b/arduino-core/src/cc/arduino/Compiler.java @@ -267,15 +267,8 @@ public class Compiler implements MessageConsumer { } cmd.add("-logger=machine"); - File installedPackagesFolder = new File(BaseNoGui.getSettingsFolder(), "packages"); - - addPathFlagIfPathExists(cmd, "-hardware", BaseNoGui.getHardwareFolder()); - addPathFlagIfPathExists(cmd, "-hardware", installedPackagesFolder); - addPathFlagIfPathExists(cmd, "-hardware", BaseNoGui.getSketchbookHardwareFolder()); - - addPathFlagIfPathExists(cmd, "-tools", BaseNoGui.getContentFile("tools-builder")); - addPathFlagIfPathExists(cmd, "-tools", Paths.get(BaseNoGui.getHardwarePath(), "tools", "avr").toFile()); - addPathFlagIfPathExists(cmd, "-tools", installedPackagesFolder); + BaseNoGui.getAllHardwareFolders().forEach(x -> addPathFlagIfPathExists(cmd, "-hardware", x)); + BaseNoGui.getAllToolsFolders().forEach(x -> addPathFlagIfPathExists(cmd, "-tools", x)); addPathFlagIfPathExists(cmd, "-built-in-libraries", BaseNoGui.getContentFile("libraries")); addPathFlagIfPathExists(cmd, "-libraries", BaseNoGui.getSketchbookLibrariesFolder().folder); diff --git a/arduino-core/src/processing/app/BaseNoGui.java b/arduino-core/src/processing/app/BaseNoGui.java index c454c0f1e..29a808b3f 100644 --- a/arduino-core/src/processing/app/BaseNoGui.java +++ b/arduino-core/src/processing/app/BaseNoGui.java @@ -1,5 +1,31 @@ package processing.app; +import static processing.app.I18n.tr; +import static processing.app.helpers.filefilters.OnlyDirs.ONLY_DIRS; + +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; +import java.util.stream.Collectors; + +import org.apache.commons.compress.utils.IOUtils; +import org.apache.commons.logging.impl.LogFactoryImpl; +import org.apache.commons.logging.impl.NoOpLog; + +import com.fasterxml.jackson.core.JsonProcessingException; + import cc.arduino.Constants; import cc.arduino.contributions.GPGDetachedSignatureVerifier; import cc.arduino.contributions.VersionComparator; @@ -7,13 +33,21 @@ import cc.arduino.contributions.libraries.LibrariesIndexer; import cc.arduino.contributions.packages.ContributedPlatform; import cc.arduino.contributions.packages.ContributedTool; import cc.arduino.contributions.packages.ContributionsIndexer; +import cc.arduino.files.DeleteFilesOnShutdown; +import cc.arduino.packages.BoardPort; import cc.arduino.packages.DiscoveryManager; -import com.fasterxml.jackson.core.JsonProcessingException; -import org.apache.commons.compress.utils.IOUtils; -import org.apache.commons.logging.impl.LogFactoryImpl; -import org.apache.commons.logging.impl.NoOpLog; -import processing.app.debug.*; -import processing.app.helpers.*; +import processing.app.debug.LegacyTargetPackage; +import processing.app.debug.LegacyTargetPlatform; +import processing.app.debug.TargetBoard; +import processing.app.debug.TargetPackage; +import processing.app.debug.TargetPlatform; +import processing.app.debug.TargetPlatformException; +import processing.app.helpers.BasicUserNotifier; +import processing.app.helpers.CommandlineParser; +import processing.app.helpers.FileUtils; +import processing.app.helpers.OSUtils; +import processing.app.helpers.PreferencesMap; +import processing.app.helpers.UserNotifier; import processing.app.helpers.filefilters.OnlyDirs; import processing.app.helpers.filefilters.OnlyFilesWithExtension; import processing.app.legacy.PApplet; @@ -242,6 +276,22 @@ public class BaseNoGui { return getContentFile("hardware"); } + static public List getAllHardwareFolders() { + List res = new ArrayList<>(); + res.add(getHardwareFolder()); + res.add(new File(getSettingsFolder(), "packages")); + res.add(getSketchbookHardwareFolder()); + return res.stream().filter(x -> x.isDirectory()).collect(Collectors.toList()); + } + + static public List getAllToolsFolders() { + List res = new ArrayList<>(); + res.add(BaseNoGui.getContentFile("tools-builder")); + res.add(new File(new File(BaseNoGui.getHardwareFolder(), "tools"), "avr")); + res.add(new File(getSettingsFolder(), "packages")); + return res.stream().filter(x -> x.isDirectory()).collect(Collectors.toList()); + } + static public String getHardwarePath() { return getHardwareFolder().getAbsolutePath(); }