Skip to content

Commit 0689806

Browse files
author
jantje
committed
1 parent 3bce7a7 commit 0689806

File tree

9 files changed

+93
-74
lines changed

9 files changed

+93
-74
lines changed

io.sloeber.core/src/io/sloeber/core/api/PackageManager.java

+12-11
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.sloeber.core.api;
22

3-
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
3+
import static java.nio.file.StandardCopyOption.*;
44

55
import java.io.File;
66
import java.io.FileReader;
@@ -80,33 +80,34 @@ public class PackageManager {
8080
* if jsonFileName equals "local" the filename of the boards.txt
8181
* containing the boards. otherwise the name of the package
8282
* containing the board
83-
* @param platformName
84-
* ignored if jsonFileName equals "local" otherwise the name of the
85-
* platform containing the board
83+
* @param architectureName
84+
* ignored if jsonFileName equals "local" otherwise the architecture
85+
* name of the platform containing the board (this assumes the
86+
* architecture is the unique id for the platform)
8687
* @param boardID
8788
* the id of the board in the boards.txt file
8889
* @param options
8990
* the options to specify the board (the menu named on the boards.txt
9091
* file) or null for defaults
9192
* @return The class BoardDescriptor or null
9293
*/
93-
static public BoardDescription getBoardDescriptor(String jsonFileName, String packageName, String platformName,
94+
static public BoardDescription getBoardDescriptor(String jsonFileName, String packageName, String architectureName,
9495
String boardID, Map<String, String> options) {
9596
if (jsonFileName.equals("local")) { //$NON-NLS-1$
9697
return new BoardDescription(new File(packageName), boardID, options);
9798
}
98-
return getNewestBoardIDFromBoardsManager(jsonFileName, packageName, platformName, boardID, options);
99+
return getNewestBoardIDFromBoardsManager(jsonFileName, packageName, architectureName, boardID, options);
99100
}
100101

101102
static private BoardDescription getNewestBoardIDFromBoardsManager(String jsonFileName, String packageName,
102-
String platformName, String boardID, Map<String, String> options) {
103+
String architectureName, String boardID, Map<String, String> options) {
103104

104105
Package thePackage = InternalPackageManager.getPackage(jsonFileName, packageName);
105106
if (thePackage == null) {
106107
// fail("failed to find package:" + this.mPackageName);
107108
return null;
108109
}
109-
ArduinoPlatform platform = thePackage.getLatestPlatform(platformName, true);
110+
ArduinoPlatform platform = thePackage.getLatestPlatform(architectureName, true);
110111
if (platform == null) {
111112
// fail("failed to find platform " + this.mPlatform + " in
112113
// package:" + this.mPackageName);
@@ -182,23 +183,23 @@ public static void installAllLatestPlatforms() {
182183
installsubsetOfLatestPlatforms(0, 100000);
183184
}
184185

185-
public static void installLatestPlatform(String JasonName, String packageName, String platformName) {
186+
public static void installLatestPlatform(String JasonName, String packageName, String architectureName) {
186187
if (!isReady()) {
187188
Common.log(new Status(IStatus.ERROR, Const.CORE_PLUGIN_ID, Messages.BoardsManagerIsBussy, new Exception()));
188189
return;
189190
}
190191
platformsDirty = true;
191192
Package curPackage = InternalPackageManager.getPackage(JasonName, packageName);
192193
if (curPackage != null) {
193-
ArduinoPlatform curPlatform = curPackage.getLatestPlatform(platformName, false);
194+
ArduinoPlatform curPlatform = curPackage.getLatestPlatform(architectureName, false);
194195
if (curPlatform != null) {
195196
NullProgressMonitor monitor = new NullProgressMonitor();
196197
curPlatform.install(monitor);
197198
return;
198199
}
199200
}
200201
Common.log(new Status(IStatus.ERROR, Const.CORE_PLUGIN_ID,
201-
"failed to find " + JasonName + " " + packageName + " " + platformName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
202+
"failed to find " + JasonName + " " + packageName + " " + architectureName)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
202203
}
203204

204205
public static void addPrivateHardwarePath(String newHardwarePath) {

io.sloeber.core/src/io/sloeber/core/managers/Package.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,11 @@ public List<ArduinoPlatform> getInstalledPlatforms() {
126126
return platformMap;
127127
}
128128

129-
public ArduinoPlatform getLatestPlatform(String platformName, boolean mustBeInstalled) {
129+
public ArduinoPlatform getLatestPlatform(String architectureName, boolean mustBeInstalled) {
130130
ArduinoPlatform foundPlatform = null;
131131
for (ArduinoPlatform platform : this.platforms) {
132132
if (!mustBeInstalled || platform.isInstalled()) {
133-
if (platform.getName().equals(platformName)) {
133+
if (architectureName.equals(platform.getArchitecture())) {
134134
if (foundPlatform == null) {
135135
foundPlatform = platform;
136136
} else {

io.sloeber.tests/src/io/sloeber/core/CompileAndUpload.java

+14-4
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@
3636
import io.sloeber.core.api.Sketch;
3737
import io.sloeber.core.api.SloeberProject;
3838
import io.sloeber.core.common.ConfigurationPreferences;
39+
import io.sloeber.providers.Arduino;
40+
import io.sloeber.providers.ESP32;
3941
import io.sloeber.providers.ESP8266;
4042
import io.sloeber.providers.MCUBoard;
4143
import io.sloeber.ui.monitor.SerialConnection;
@@ -118,13 +120,21 @@ public static void WaitForInstallerToFinish() {
118120
public static void installAdditionalBoards() {
119121
Preferences.setUseBonjour(false);
120122
String[] packageUrlsToAdd = {
121-
"http://arduino.esp8266.com/stable/package_esp8266com_index.json",
123+
ESP32.packageURL,
122124
ESP8266.packageURL };
123125
PackageManager.addPackageURLs(
124126
new HashSet<>(Arrays.asList(packageUrlsToAdd)), true);
125-
if (reinstall_boards_and_libraries) {
126-
PackageManager.installAllLatestPlatforms();
127-
}
127+
if (reinstall_boards_and_libraries) {
128+
PackageManager.removeAllInstalledPlatforms();
129+
}
130+
131+
// make sure the needed boards are available
132+
ESP8266.installLatest();
133+
Arduino.installLatestAVRBoards();
134+
Arduino.installLatestSamDBoards();
135+
Arduino.installLatestIntellCurieBoards();
136+
Arduino.installLatestSamBoards();
137+
128138
PackageManager.addPrivateHardwarePath(MySystem.getTeensyPlatform());
129139

130140
}

io.sloeber.tests/src/io/sloeber/core/RegressionTestFailingOnTravis.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package io.sloeber.core;
22

3-
import static org.junit.Assert.fail;
3+
import static org.junit.Assert.*;
44

55
import java.util.Arrays;
66
import java.util.HashMap;
@@ -49,11 +49,11 @@ public static void installAdditionalBoards() {
4949
public void redirectedJson() {
5050
//this board references to arduino avr so install that one to
5151
Arduino.installLatestAVRBoards();
52-
PackageManager.installLatestPlatform("package_talk2.wisen.com_index.json", "Talk2","Talk2 AVR Boards");
52+
PackageManager.installLatestPlatform("package_talk2.wisen.com_index.json", "Talk2", "avr");
5353
Map<String, String> options = new HashMap<>();
5454
options.put("mhz", "16MHz");
5555
BoardDescription boardid = PackageManager.getBoardDescriptor("package_talk2.wisen.com_index.json", "Talk2",
56-
"Talk2 AVR Boards", "whispernode", options);
56+
"avr", "whispernode", options);
5757
if (boardid == null) {
5858
fail("redirect Json ");
5959
return;

io.sloeber.tests/src/io/sloeber/providers/Adafruit.java

+11-13
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,24 @@
11
package io.sloeber.providers;
22

3-
import static org.junit.Assert.fail;
3+
import static org.junit.Assert.*;
44

55
import io.sloeber.core.api.PackageManager;
66
@SuppressWarnings("nls")
77
public class Adafruit extends MCUBoard {
88
public final static String packageURL = "https://adafruit.github.io/arduino-board-index/package_adafruit_index.json";
9-
private static final String AVRPlatformName = "Adafruit AVR Boards";
10-
private static final String SAMDPlatformName = "Adafruit SAMD Boards";
9+
private static final String AVRArchitectureName = "avr";
10+
private static final String SAMDArchitectureName = "samd";
1111
//private static final String SAMPlatformName = "Arduino SAM Boards (32-bits ARM Cortex-M3)";
12-
private static final String NFR52PlatformName = "Adafruit nRF52";
12+
private static final String NFR52ArchitectureName = "nRF52";
1313
//private static final String XICEDPlatformName = "Adafruit WICED";
1414
public static final String metroM4SlangName="metroM4";
1515
public static final String metroM4ID="adafruit_metro_m4";
1616

1717

18-
public static String getnRF52PlatformName() {
19-
return "Adafruit nRF52";
20-
}
21-
public Adafruit( String platformName, String boardName) {
2218

23-
this.myBoardDescriptor = PackageManager.getBoardDescriptor( "package_adafruit_index.json","adafruit",platformName ,
19+
public Adafruit( String architectureName, String boardName) {
20+
21+
this.myBoardDescriptor = PackageManager.getBoardDescriptor( "package_adafruit_index.json","adafruit",architectureName ,
2422
boardName, null);
2523
if (this.myBoardDescriptor == null) {
2624
fail(boardName + " Board not found");
@@ -30,27 +28,27 @@ public Adafruit( String platformName, String boardName) {
3028

3129

3230
public static MCUBoard feather() {
33-
MCUBoard ret= new Adafruit(NFR52PlatformName,"feather52832");
31+
MCUBoard ret= new Adafruit(NFR52ArchitectureName,"feather52832");
3432
ret.mySlangName="feather";
3533
return ret;
3634
}
3735

3836

3937
public static MCUBoard trinket8MH() {
40-
MCUBoard ret= new Adafruit(AVRPlatformName,"trinket3");
38+
MCUBoard ret = new Adafruit(AVRArchitectureName, "trinket3");
4139
ret.mySlangName="trinket";
4240
return ret;
4341
}
4442

4543
public static MCUBoard featherMO() {
46-
MCUBoard ret= new Adafruit(SAMDPlatformName,"adafruit_feather_m0");
44+
MCUBoard ret = new Adafruit(SAMDArchitectureName, "adafruit_feather_m0");
4745
ret.mySlangName="FeatherM0";
4846
ret.myAttributes.mo_mcu=true;
4947
return ret;
5048
}
5149

5250
public static MCUBoard metroM4() {
53-
MCUBoard ret= new Adafruit(SAMDPlatformName,metroM4ID);
51+
MCUBoard ret = new Adafruit(SAMDArchitectureName, metroM4ID);
5452
ret.mySlangName=metroM4SlangName;
5553
ret.myAttributes.mo_mcu=true;
5654
return ret;

0 commit comments

Comments
 (0)