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.