Viewing entries tagged with 'IntelliJ IDEA'

JFormDesigner 5.1.1 with IntelliJ IDEA 12.x support

We've just released JFormDesigner 5.1.1, which is now compatible with IntelliJ IDEA 12 and 12.1, has been tested with NetBeans 7.3, supports Eclipse plug-in in Java 7 VM on Mac OS X (read note below), fixes minor bugs and brings some minor improvements.

See Change Log for details and download JFormDesigner 5.1.1.

Eclipse plug-in in Java 7 VM on Mac OS X

The JFormDesigner plug-in for Eclipse depends on a JRE class that embeds Swing into SWT. Unfortunately, when migrating Apple Java 6 to Oracle Mac Java 7, the class was not migrated. There is work in progress to bring it back, but currently it is only available in JDK 7u12 Developer Preview (1.7.0_12-ea) (from jdk7.java.net/download.html), but not in Java SE 7u21 (from oracle.com). See also Java Bug 7154778 and Eclipse Bug 374199.

JFormDesigner IDE compatibility

Recently we blogged about JFormDesigner and Eclipse Helios (3.6) compatibility. This time we would like to give you some insight into how we test compatibility with IDEs.

Currently we provide JFormDesigner plug-ins for three IDEs: Eclipse, IntelliJ IDEA and JBuilder. And soon, we'll support two additional IDEs: NetBeans and JDeveloper.

JFormDesigner 4.0.8 supports 48 IDE releases:

  • 16 Eclipse releases (3.1, 3.1.1, ..., 3.6)
  • 30 IntelliJ IDEA releases (5.1, 5.1.1, ..., 9.0.3)
  • 2 JBuilder releases (2005 and 2006)

In JFormDesigner 5 we'll reduce the number by 14 because we'll no longer support Eclipse 3.1, IntelliJ IDEA 5.1 - 6.0 and JBuilder 2005.

You can imagine that it is not an easy task to ensure compatibility with that many IDE releases. Besides testing, testing and testing, we use of course automated tests to check source code and binary compatibility:

  • Source code compatibility is checked by compiling the plug-in sources with all supported versions of the IDE libraries.
  • But this is not enough because the obfuscator may break binary compatibility. So we've developed an Ant task that checks whether the obfuscator has renamed methods, which should override (or implement) methods in an IDE superclass (or interface). This ensures binary compatibility.