As we count down the days until June 22nd — the day Eclipse Indigo will ship — I’ve been counting down the top 10 Indigo features, according to me. In my previous article I talked about OSGi and how modularity plays a central role for all Eclipse projects. With over 46 million lines of code and 62 projects, we could not ship on-time without a rock solid module system. But modularity is not easy! Lucky for us Eclipse developers, Eclipse also ships with first class tooling for OSGi. For historical reasons this tooling is called the Plug-in Development Environment (PDE).
Number 8 on my top 10 list is the Improvements to PDE.
Target definitions allow you to manage your development-, package- and run-time dependencies and provision them from a variety of sources. A number of improvements were made to the target management facilities. In particular, you can now ‘update‘ your targets. This means that if you’ve defined your target in terms of p2 repositories, you can now instruct p2 to find ‘updated‘ versions of your dependencies. Also, the target facilities are now smart enough to use existing bundles that you already have on your machine. Rid yourself of downloading the same artifacts, repeatedly.
You can also specify that ‘You want source with that‘ while crafting your target definition. This option will provision the associated ‘source‘ bundles along with the binary ones making it easier to browse the source of your development time dependencies. Special thanks goes out to Jeff McAffer for this features and Curtis Windatt for reviewing the patches.
Finally, there were a number of improvements to API tooling — one of the most underrated Eclipse feature IMHO. With Indigo you can now create consumer use reports. The standard report organizes the references by ‘producer’, that is, the bundle that produces the API. Consumer reports organizes the references by ‘consumer’ or those bundles that ‘use’ the API.