mirror of
https://github.com/arduino/Arduino.git
synced 2025-02-06 01:08:25 +01:00
Tools path unversioned properties are adjusted right before compiling.
This way, when multiple versions of, e.g., bossac are installed and a platform uses bossac 1.5, core author will be able to specify just tools.bossac.path={runtime.tools.bossac.path} and the IDE will set it to right version of bossac Fixes #3325
This commit is contained in:
parent
32cf196271
commit
fef4e56044
@ -21,7 +21,6 @@ import processing.app.packages.LibraryList;
|
|||||||
import processing.app.packages.UserLibrary;
|
import processing.app.packages.UserLibrary;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.*;
|
||||||
import java.net.URISyntaxException;
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
@ -635,7 +634,7 @@ public class BaseNoGui {
|
|||||||
loadHardware(getHardwareFolder());
|
loadHardware(getHardwareFolder());
|
||||||
loadContributedHardware(indexer);
|
loadContributedHardware(indexer);
|
||||||
loadHardware(getSketchbookHardwareFolder());
|
loadHardware(getSketchbookHardwareFolder());
|
||||||
createToolPreferences(indexer);
|
createToolPreferences(indexer.getInstalledTools(), true);
|
||||||
|
|
||||||
librariesIndexer = new LibrariesIndexer(BaseNoGui.getSettingsFolder(), indexer);
|
librariesIndexer = new LibrariesIndexer(BaseNoGui.getSettingsFolder(), indexer);
|
||||||
File librariesIndexFile = librariesIndexer.getIndexFile();
|
File librariesIndexFile = librariesIndexer.getIndexFile();
|
||||||
@ -826,12 +825,13 @@ public class BaseNoGui {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static private void createToolPreferences(ContributionsIndexer indexer) {
|
public static void createToolPreferences(Collection<ContributedTool> installedTools, boolean removeOldKeys) {
|
||||||
// Remove previous runtime preferences
|
String prefix = "runtime.tools.";
|
||||||
final String prefix = "runtime.tools.";
|
if (removeOldKeys) {
|
||||||
PreferencesData.removeAllKeysWithPrefix(prefix);
|
PreferencesData.removeAllKeysWithPrefix(prefix);
|
||||||
|
}
|
||||||
|
|
||||||
for (ContributedTool tool : indexer.getInstalledTools()) {
|
for (ContributedTool tool : installedTools) {
|
||||||
File installedFolder = tool.getDownloadableContribution(getPlatform()).getInstalledFolder();
|
File installedFolder = tool.getDownloadableContribution(getPlatform()).getInstalledFolder();
|
||||||
if (installedFolder != null) {
|
if (installedFolder != null) {
|
||||||
PreferencesData.set(prefix + tool.getName() + ".path", installedFolder.getAbsolutePath());
|
PreferencesData.set(prefix + tool.getName() + ".path", installedFolder.getAbsolutePath());
|
||||||
|
@ -34,6 +34,8 @@ import java.util.*;
|
|||||||
import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
import cc.arduino.MyStreamPumper;
|
import cc.arduino.MyStreamPumper;
|
||||||
|
import cc.arduino.contributions.packages.ContributedPlatform;
|
||||||
|
import cc.arduino.contributions.packages.ContributedTool;
|
||||||
import cc.arduino.packages.BoardPort;
|
import cc.arduino.packages.BoardPort;
|
||||||
import cc.arduino.packages.Uploader;
|
import cc.arduino.packages.Uploader;
|
||||||
import cc.arduino.packages.UploaderFactory;
|
import cc.arduino.packages.UploaderFactory;
|
||||||
@ -614,6 +616,12 @@ public class Compiler implements MessageConsumer {
|
|||||||
p.put("build.variant.path", "");
|
p.put("build.variant.path", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ContributedPlatform installedPlatform = BaseNoGui.indexer.getInstalled(referencePlatform.getContainerPackage().getId(), referencePlatform.getId());
|
||||||
|
if (installedPlatform != null) {
|
||||||
|
List<ContributedTool> tools = installedPlatform.getResolvedTools();
|
||||||
|
BaseNoGui.createToolPreferences(tools, false);
|
||||||
|
}
|
||||||
|
|
||||||
// Build Time
|
// Build Time
|
||||||
Date d = new Date();
|
Date d = new Date();
|
||||||
GregorianCalendar cal = new GregorianCalendar();
|
GregorianCalendar cal = new GregorianCalendar();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user