The Eclipse Foundation has announced the release of Eclipse Indigo, a combination of 62 projects with a combined total of 46 million lines of code between them. Eclipse has followed an annual release train of the last week or two of June since Callisto in 2006, although the Eclipse platform has been released annually since 2001.
The simultaneous release allows all projects to standardise on a particular set of dependencies; useful when later projects depend on earlier ones (such as JDT depending on Platform, or Mylyn on EMF). Prior to Callisto, projects would often have specific dependency sets which needed to be satisfied causing problems for wide adoption of certain projects. Since the annual combined release train, stability and interoperability between projects has improved dramatically.
New projects in Indigo include:
- Maven integration (M2E), which provides tight integration with the Maven development process
- Eclipse Scout, an enterprise framework and SDK for building distributed applications
- Jubula, an automated functional testing tool for Java and HTML-based applications
- WindowBuilder, a drag-and-drop GUI editor for Java (SWT and Swing), which was donated by Google having purchased it off Instantiations
- Graphiti, a graphical tooling infrastructure for EMF based models
- EGit and JGit, which have been released as 1.0 products with Indigo's release
Many other projects have released major or minor revisions as well; CDT has reached version 8.0 whilst the Eclipse platform itself has reached 3.7. Xtext, the DSL generator, has reached version 2.0 and comes with easy to generate editors with code completion and quick fixes with very little more than a grammar needed. ECF has reached 3.5, with many new features tracking the OSGi 4.3 specifications for remote services. Equinox, the OSGi runtime has been updated to support the new OSGi 4.3 features (including generics), as covered previously.
As well as Indigo, Eclipse 4.1 is also released today. The Eclipse 4.x stream, also known as E4, is a revisiting of the core Eclipse model to move away from the Eclipse extension registry and towards dynamic OSGi services, coupled with dependency injection to make those services available. The goal of E4 is to provide a new way of wiring up components, and at the same time decouple the user interface implementation from its representation, such that it can be rendered remotely via a web browser if desired. In conjunction with E4 is Eclipse Orion 0.2, a fully web-hosted IDE which uses JavaScript plugins to do real-time editing in the web browser. There is an experimental orion.eclipse.org available for testing.
Not all projects in Helios made it to Indigo. The long-beleaguered Test and Performance Tools Platform project was terminated earlier this year, and won't be part of Indigo. The BPMN project is inactive and likely to be terminated in the near future, with Swordfish suffering a similar fate.
The release of Eclipse 3.7 concludes a decade long tradition of shipping on time, as expected. By planning six-weekly iterations and a ramp-down policy of release candidates prior to the final release, the Eclipse project has shown that it is possible to manage a project by feature variation rather than time. Here is how we got here:
- Eclipse 1.0 – 7 November 2001 (Win32/Linux32 Motif)
- Eclipse 2.0 – 27 June 2002 (Linux32 Motif + GTK, and Solaris/QNX/AIX)
- Eclipse 2.1 – 27 March 2003 (OSX first version)
- Eclipse 3.0 – 25 June 2004 (first OSGi version)
- Eclipse 3.1 – 27 June 2005
- Eclipse 3.2 – 29 June 2006 (Callisto)
- Eclipse 3.3 – 25 June 2007 (Europa)
- Eclipse 3.4 – 17 June 2008 (Ganymede)
- Eclipse 3.5 – 11 June 2009 (Galileo)
- Eclipse 3.6 – 8 June 2010 (Helios)
- Eclipse 3.7 – 22 June 2011 (Indigo)