From 32bc90f8bfcbcd2af10bb1af006bf2d2ddc12c24 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Thu, 25 Aug 2016 21:10:08 -0400 Subject: [PATCH] Bug 500237 - Use specific version of tool for uploads. Arduino rolled back the version of avrdude that they used but we were always using the latest version. Show the arduino package first in the list of Platforms to Add. Turn on the Arduino Neon site for future updates. Conflicts: toolchains/arduino/org.eclipse.cdt.arduino-feature/p2.inf Change-Id: I0392594d7e9d30daeb6c9e4ca7090a92dde8b19f --- .../arduino/org.eclipse.cdt.arduino-feature/p2.inf | 3 +++ .../core/internal/board/ArduinoManager.java | 14 +++++++++++++- .../internal/build/ArduinoBuildConfiguration.java | 2 +- 3 files changed, 17 insertions(+), 2 deletions(-) create mode 100644 toolchains/arduino/org.eclipse.cdt.arduino-feature/p2.inf 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()); }