Equinox / p2 improvements, Top Eclipse Indigo Feature #9

Equinox / p2 improvements, Top Eclipse Indigo Feature #9

When most people think about Eclipse they think of a kick-ass IDE. While this is true, Eclipse is so much more.  Did you know that Eclipse hosts a top-notch webserver (Jetty), a framework for building Rich Internet Applications (RAP), a Java persistence solution (EclipseLink) and a foundation for building multi-tier enterprise client / server applications (Riena).  In fact, there is an entire top level Eclipse project dedicated to Eclipse RunTime technologies.

The common tread that runs through almost all Eclipse projects is the highly modular component model and the OSGi runtime that enables it.  In addition to the OSGi runtime (Equinox), Eclipse also provides a powerful provisioning platform (p2) optimized for OSGi .  Number 9 on my Top 10 Indigo Feature list is the improvements to p2 and Equinox.

p2 has come a long way since it’s humble beginnings.  While p2 certainly had its share of growing pains, most people don’t realize that the entire Eclipse release process (and release train) would not be possible without p2.  The popular MarketPlace Client would have never functioned with the old Update Manager technology.  p2 has now matured to a stage where it just stays out of your way.

There are a few notable improvements to p2 this year including the ability to save your current Eclipse configuration:

and tag configuration states.  This should make it easier to try out new functionality and return to working state with ease.

Kudos for the import / export work goes out to Meng Xin Zhu.  Dean Roberts gets the shout-out for the tagging feature.  Special thanks goes out to DJ Houghton, Matt Piggott and Pascal Rapicault for improving the stability of the p2 platform and keeping our builds green.

The Equinox project also received some love this year. Tom Watson and John Ross continued to improve the framework and compendium service.  In particular, Equinox was updated to support the OSGi 4.3 specification. This includes a number of enhancements including new framework hooks, weaving hooks and generic capabilities.

  • Richard Greene
    Posted at 10:25 am, June 10, 2011

    Sadly, while P2 is fine in theory but in practice it doesn’t work out. Most times I’ve attempted to install new plug-ins in the Eclipse IDE it gets as far as the message “Fetching children of Helios…” and after about 30 minutes times out. After many of these attempts it *might* eventually get the updates. In the end I usually just give up cursing this wretched abomination known as “p2”.

  • Pascal Rapicault
    Posted at 3:54 am, June 11, 2011

    And thanks to you as well!

  • André Pankraz
    Posted at 9:48 pm, June 12, 2011

    @Richard Greene:

    You should try to set the prefs/general/network connections from native to direct.
    Multiple people had this problem in our company. With native mode, e.g. under windows 7/64 – 30 minutes waiting, timeouts and more. It’s nearly impossible to install plugins like JBoss Tools this way.
    With jvisualvm you can see, the system hangs in this I/O stuff – the problem is the download, not the installation.
    I changed to direct mode and all is OK…very fast und reliable plugin installations.

    This is really not my problem with Eclipse. My major wish would be much less OSGi, p2, XYZ fan-framework stuff and to concentrate for a while on the Java Editor, WTP, Maven-Support and more…i see a lot of people switch to Netbeans and I can understand them. Eclipse is lagging right now in the development of this areas (my observation).

    Best regards, André Pankraz