The Eclipse Foundation has released Eclipse Indigo, a beefy brace of projects that executive director Mike Milinkovich tells The Reg is the biggest release for Java developers "in quite a few years."
Spun out a decade ago by IBM as a open-source framework for connecting Java and C++ tools, Eclipse has grown beyond server-side tools to include rich clients and web apps, run-times, and business intelligence.
Purists might say that Eclipse has strayed from its original mission. Others would counter that it has instead kept up with the times.
Milinkovich attributes the breadth of Eclipse Indigo to a possible renewal of interest in Java due to the impending completion of Java 7 – the first new version of Java in five years – that's due in mid- July thanks to a roadmap being driven by muscleman Oracle, which broke the Sun Microsystems impasse.
Milinkovich tells us that "We rely on the contributions of individuals and corporations to make this stuff happen." Indeed, the fingerprints of some Java's biggest fans can be found on Indigo.
The release wraps in the Instantiations WindowBuilder toolkit for building Swing and SWT GUIs, which was bought and donated to Eclipse by Google last year, and which replaces the defunct Eclipse Visual Editor.
Other updates targeting Java include EGit 1.0 for those using Git for source-code management from SAP, automated functional GUI testing for Java and HTML applications using Jubula, m2eclipse for integration with Maven, and Eclipse workspace from Sonatype so you can work with Maven projects from inside Eclipse. IBM has also been busy, adding Java 7 support, which will be added with an official update in September.
One thing for which Eclipse has come under fire is its growing size: it swelled from seven million lines of code when such numbers were first released in 2006 to 33 million in 2010. Total projects increased during that time from 10 to 39. More projects and more code have made the framework more challenging to use and to build for.
Wednesday's Indigo release is even bigger: 62 projects and 46 million lines of code.
The release-train concept was introduced eight years ago to help navigate the complexity of the growing code. Indigo, though, could be the last release that uses the fat code base, since next year's update could benefit – finally – from the long-talked about e4 project, which will clean up and simplify Eclipse by weeding out old APIs; removing the hard coding the binds together things such as perspective, view, and editor for a more flexible way of working; and using style sheets so you can have an interface that looks more the way you want it and less the way Eclipse prescribes it.
"Cleaning up old APIs was one of the e4's dream," Milinkovich says. "As the platform evolved, new APIs came in that did similar things in better ways and we didn't remove the old APIs. 4.x started looking at picking winners and losers and making it easier for plug-in writers to write plug-ins and to make plug-ins look better."
Indigo is Eclipse 3.7, but shipping at the same time is e4.1. Milinkovich tells that us discussions have begun about whether to standardize next summer's release train on e4.2.
Milinkovich also says that substantial work has also gone into backwards compatibly so that existing Eclipse plug-ins will work. He cautions, however, that how far your existing plug-ins can leverage e4 might depend on which version of the old platform your plug-in was written for. ®