1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-02-26 20:54:22 +01:00

Created getAllHardwareFolders and getAllToolsFolders

This commit is contained in:
Cristian Maglie 2017-09-25 15:44:39 +02:00 committed by Martino Facchin
parent b4b32f244a
commit 116cad067e
2 changed files with 58 additions and 15 deletions

View File

@ -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);

View File

@ -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<File> getAllHardwareFolders() {
List<File> 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<File> getAllToolsFolders() {
List<File> 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();
}