diff --git a/toolchains/arduino/org.eclipse.cdt.arduino-feature/p2.inf b/toolchains/arduino/org.eclipse.cdt.arduino-feature/p2.inf new file mode 100644 index 00000000000..fee4c603ea7 --- /dev/null +++ b/toolchains/arduino/org.eclipse.cdt.arduino-feature/p2.inf @@ -0,0 +1,3 @@ +instructions.configure=\ +org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/tools/cdt/arduino/neon/,type:0,name:Arduino Neon,enabled:true); \ +org.eclipse.equinox.p2.touchpoint.eclipse.addRepository(location:http${#58}//download.eclipse.org/tools/cdt/arduino/neon/,type:1,name:Arduino Neon,enabled:true); diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoManager.java b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoManager.java index 6fe12c5d5c9..3f43f9c2de9 100644 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoManager.java +++ b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/board/ArduinoManager.java @@ -272,7 +272,19 @@ public class ArduinoManager { public static List getSortedPlatforms(Collection platforms) { List result = new ArrayList<>(platforms); Collections.sort(result, (plat1, plat2) -> { - int c1 = plat1.getPackage().getName().compareToIgnoreCase(plat2.getPackage().getName()); + int c1; + String p1 = plat1.getPackage().getName(); + String p2 = plat2.getPackage().getName(); + if (p1.equals(p2)) { + c1 = 0; + } else if (p1.equals("arduino")) { + c1 = -1; + } else if (p2.equals("arduino")) { + c1 = 1; + } else { + c1 = plat1.getPackage().getName().compareToIgnoreCase(plat2.getPackage().getName()); + } + if (c1 > 0) { return 1; } else if (c1 < 0) { diff --git a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java index f307fcc4117..cd057f489fa 100644 --- a/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java +++ b/toolchains/arduino/org.eclipse.cdt.arduino.core/src/org/eclipse/cdt/arduino/core/internal/build/ArduinoBuildConfiguration.java @@ -498,7 +498,7 @@ public class ArduinoBuildConfiguration extends CBuildConfiguration } } - ArduinoTool uploadTool = platform.getPackage().getLatestTool(toolName); + ArduinoTool uploadTool = platform.getTool(toolName); if (uploadTool != null) { properties.putAll(uploadTool.getToolProperties()); }