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);
}