Eclipse plugins that tries to support a specific framework such as Hibernate, JPA, servlets, Struts, Spring, Drools, log4j, etc. all have many of the same challenges but somehow they have a tendency to solve it differently and we end up with a fractured IDE from a usability and architectural perspective.
It seems like everyone understands what functionallity that is specific for their framework, but forget to consider issues like multiple version support, classpath libraries, debugging/launching and coexistence with other 3rd party framework plugins.
After working five years with this in context of JBoss Tools and Eclipse itself I came to realize a lot of this fracture is caused by either not using already existing functionallity available in Eclipse API's or simply not realizing how little effort it actually takes to handle these common issues.
This talk will outline the identified issues and present patterns and in some cases implementation for how framework plugins should be done so they work well within the majority of the Eclipse Java ecosystem.