From cb50ebc9c1a4c869fe4496f86fc2e076c50f8add Mon Sep 17 00:00:00 2001 From: Cristian Maglie Date: Sat, 20 Aug 2016 13:50:27 +0300 Subject: [PATCH] Slightly simplified argument passing to arduino-builder --- arduino-core/src/cc/arduino/Compiler.java | 29 ++++++++++++----------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/arduino-core/src/cc/arduino/Compiler.java b/arduino-core/src/cc/arduino/Compiler.java index cdf70ff53..8e3a3f3a6 100644 --- a/arduino-core/src/cc/arduino/Compiler.java +++ b/arduino-core/src/cc/arduino/Compiler.java @@ -190,27 +190,28 @@ public class Compiler implements MessageConsumer { return prefs; } + private void addPathFlagIfPathExists(List cmd, String flag, File folder) { + if (folder.exists()) { + cmd.add(flag); + cmd.add(folder.getAbsolutePath()); + } + } + private void callArduinoBuilder(TargetBoard board, TargetPlatform platform, TargetPackage aPackage, String vidpid, BuilderAction action, OutputStream outStream, OutputStream errStream) throws RunnerException { List cmd = new ArrayList<>(); cmd.add(BaseNoGui.getContentFile("arduino-builder").getAbsolutePath()); cmd.add(action.value); cmd.add("-logger=machine"); - Stream.of(BaseNoGui.getHardwarePath(), new File(BaseNoGui.getSettingsFolder(), "packages").getAbsolutePath(), BaseNoGui.getSketchbookHardwareFolder().getAbsolutePath()) - .forEach(p -> { - if (Files.exists(Paths.get(p))) { - cmd.add("-hardware"); - cmd.add(p); - } - }); + File installedPackagesFolder = new File(BaseNoGui.getSettingsFolder(), "packages"); - Stream.of(BaseNoGui.getContentFile("tools-builder").getAbsolutePath(), Paths.get(BaseNoGui.getHardwarePath(), "tools", "avr").toAbsolutePath().toString(), new File(BaseNoGui.getSettingsFolder(), "packages").getAbsolutePath()) - .forEach(p -> { - if (Files.exists(Paths.get(p))) { - cmd.add("-tools"); - cmd.add(p); - } - }); + 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); cmd.add("-built-in-libraries"); cmd.add(BaseNoGui.getContentFile("libraries").getAbsolutePath());