InfoQ

News

Eclipse Prepares for 3.4 with Feature Complete Milestone Release

Posted by Alex Blewitt on May 05, 2008

Community
Java
Topics
Artifacts & Tools
Tags
Eclipse ,
Eclipse RCP

The final milestone and feature-complete version of Eclipse 3.4M7 was released on Friday, with a number of improvements over the previous Eclipse 3.3 version. There will be a number of release candidates with an expected final release date of Eclipse 3.4 (Ganymede) in June.

SWT, the UI layer that underpins Eclipse, is now able to create full-screen windows for kiosk-mode applications, and windows with transparency for displaying pop-ups or other HUD-type windows. This allows windows to appear non-rectangular by having a path to create the opaque section. The same also applies to controls (such as Buttons), although practically the ability to have a three-state checkbox is likely to be more directly useful. Finally, SWT now runs on 64-bit windows when run with a 64-bit JVM; although it's still possible to run 32-bit SWT on a 32-bit JVM on a Windows 64-bit system.

The Java tooling has undergone some improvements, not the least of which is a multi-threaded compiler which should increase performance during builds on multi-core systems. Unfortunately, the projects aren't built in parallel - each one is built individually as before - but the actual compilation of each project will be able to use multiple threads. Other benefits, such as the ability to refactor expressions like a+b+c into equivalents using StringBuilder/StringBuffer or MessageFormat, will be useful in a number of places. Additional refactorings, such as the ability to refactor a set of variables into a containing class with accessors, have also been added; and you can now re-order elements by drag-and-drop from the Outline view. JUnit timings reporting how long each test case takes to run will give an idea of where any performance problems lie. Lastly, the automated proposals for methods can now be annotated with valid parameter values, so a number of new SWT templates (with known possible values for the 'flags' field) will help when writing code utilizing SWT.

For RCP developers, the good news is that the Log view has finally been moved into its own bundle, which means that you can deploy it with RCP applications without needing to bring in the workbench as a whole. The help system (aka Infocenter) has been redesigned so that it can be plugged into any existing application server (such as Jetty, Tomcat or even SSAP). Additional PDE enhancements can help with the construction of documentation for use in a help center or for articles on eclipse.org. Finally, a SecurePlatform can now be used which integrates with JAAS.

PDE has made life easier by providing a number of enhancements to the formatting and refactoring of the plugin.xml and OSGi manifests, including additional refactorings which will help keep the manifest up-to-date (such as performing an import and adding the appropriate entries during code completion). The plug-in spy, which has been in the incubator for some time, is now shipped by default with 3.4 which makes it much easier to work with existing plug-ins. Finally, for those wishing to hack Eclipse, the source bundles are now shipped as individual units rather than one giant bundle, which should make it easier to acquire code that you're interested and ignore those that you're not. Enhancements to the plug-in registry view allow you to stop and start bundles (and their OSGi services), although not to dynamically install or remove them.

The platform has also undergone changes, the most notable being P2, the new provisioning platform for Eclipse. This is a general replacement for the ageing Update Manager, and allows both bundles and non-bundle components (such as configuration files, installers, graphic resources etc.) to be installed or updated. There are a number of new features, such as the ability to view and verify digital signatures for the artifacts, download from (or provide) mirrors, or select the best representation of the artefact (pack200, gz etc.) from multiple available. P2 also allows for a dropins folder, which makes installing bundles that much easier; just copy in the bundle, and Eclipse will automatically install it and make it available (dependencies permitting, of course). It's also possible to configure Eclipse in a shared-bundles mode which will allow a repository of bundles to be made available and then host different applications using it. Those who use Eclipse for day-to-day usage might not find that beneficial, but if you're doing RCP application development (or support) where you have a number of RCP-based applications installed on the same computer (for example, an in-house suite of RCP applications), then the ability to share bundles between applications will be a real space-saver.

You can read the individual new and noteworthy pages (M1, M2, M3, M4, M5, M6 and M7) which describe the features in more detail. A number of release candidates addressing bug-fixes will be released between now and the end of June, which is when Ganymede is expected to be released.

No comments

Watch Thread Reply

Educational Content

Brian Marick on 4 Challenges and 5 Guiding Values of Agile Software Development

Brian Marick takes us through a quick tour of the most important values and challenges to adopting Agile successfully (they aren't the typical challenges and values we hear in the community).

Are You a Software Architect?

The line between development and architecture is tricky. Does it exist at all? Is an ivory tower actually needed? There's a balance in the middle, but how do you move from developer to architect?

Agile – A Way of Life and Pragmatic Use of Authority

The word 'authority' sometimes produces an allergic response in hard-line agilists. Freedom and authority – both are bad if misused and both are good if used in right spirit for a noble cause.

Getting Started with Grails, Second Edition

"Getting Started with Grails" brings you up to speed on this modern web framework. Companies as varied as LinkedIn, Wired, and Taco Bell are all using Grails. Are you ready to get started as well?

Using ITIL V3 as a Foundation for SOA Governance

Those familiar with only ITIL V2 often scoff at the thought that ITIL could serve as a governance framework for SOA. With ITIL V3, the focus of the framework shifted towards service-orientation.

Adrian Colyer on AspectJ, tc Server and dm Server

SpringSource CTO Adrian Colyer discusses AspectJ, SpringSource's dm Server and tc Server products, OSGi and Scrum.

Adam Wiggins on Heroku

Heroku's Adam Wiggins talks about Rails, Background Jobs, Add-Ons, Ruby, and how Heroku manages to work around Ruby's inefficiencies using Erlang and other languages.

SOA as an Architectural Pattern: Best Practices in Software Architecture

For Grady Booch the foundation of a good architecture is patterns, SOA being just one of many patterns. In this Second Life presentation, Booch attempts to bring more clarity on what architecture is.