diff --git a/lib/arduino-core.jar b/lib/arduino-core.jar new file mode 100644 index 00000000..0cc5af8d Binary files /dev/null and b/lib/arduino-core.jar differ diff --git a/lib/pde.jar b/lib/pde.jar index bb70b742..fae3009d 100644 Binary files a/lib/pde.jar and b/lib/pde.jar differ diff --git a/pom.xml b/pom.xml index 6af31199..5e74edd4 100644 --- a/pom.xml +++ b/pom.xml @@ -61,7 +61,23 @@ default arduino pde - 1.0 + 1.1 + jar + true + + + install-file + + + + install-arduino-core + validate + + ${basedir}/lib/arduino-core.jar + default + arduino + arduino-core + 1.6.12 jar true @@ -89,7 +105,13 @@ arduino pde provided - 1.0 + 1.1 + + + arduino + arduino-core + provided + 1.6.12 org.apache.poi diff --git a/src/main/java/com/ardublock/ArduBlockTool.java b/src/main/java/com/ardublock/ArduBlockTool.java index 59545458..866a8c9e 100644 --- a/src/main/java/com/ardublock/ArduBlockTool.java +++ b/src/main/java/com/ardublock/ArduBlockTool.java @@ -9,7 +9,12 @@ import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; + import processing.app.Editor; +import processing.app.EditorTab; +import processing.app.SketchFile; import processing.app.tools.Tool; import com.ardublock.core.Context; @@ -69,7 +74,24 @@ public void didNew() } public void didGenerate(String source) { - ArduBlockTool.editor.setText(source); + java.lang.reflect.Method method; + try { + // pre Arduino 1.6.12 + Class ed = ArduBlockTool.editor.getClass(); + Class[] cArg = new Class[1]; + cArg[0] = String.class; + method = ed.getMethod("setText", cArg); + method.invoke(ArduBlockTool.editor, source); + } + catch (NoSuchMethodException e) { + ArduBlockTool.editor.getCurrentTab().setText(source); + } catch (IllegalAccessException e) { + ArduBlockTool.editor.getCurrentTab().setText(source); + } catch (SecurityException e) { + ArduBlockTool.editor.getCurrentTab().setText(source); + } catch (InvocationTargetException e) { + ArduBlockTool.editor.getCurrentTab().setText(source); + } ArduBlockTool.editor.handleExport(false); }