Twitter github

Posts Tagged with “galileo”

Eclipse Galileo Review

Since I have reviewed the past two Eclipse release trains, I’d figure I’d throw in my thoughts for Galileo.

In the last Eclipse annual release, Ganymede, there were 23 projects on the train. On the Galileo train, we have grown by 10 projects and are at 33 projects. In terms of enhancements, there are so many new things in Galileo that I’ll only talk about my five favorite things from the various projects.

SWT Cocoa

For Mac users, Eclipse 3.5 will be great since now it’s possible to use Cocoa as the windowing library. As a result of the Cocoa port, you can also run Java 6 since Apple has only provided a 64 bit Java 6 VM. Furthermore, you can even use the new SWT.SHEET style bit to make your Eclipse-based applications look more native on the Mac:


In the end, it was amazing to see how quickly the Cocoa port was developed. I was one of the early adopters helped shape the port by quickly filing bugs with any issue I came across. I have to admit the first month was a bit rough as some of the crashes were very unforgiving, but hey, we’re past that now, right Kevin ;)?

Target Definitions

As PDE project co-lead, one of the biggest things we pushed for was for revamping the target management story in Eclipse. For many years, we had a terrible preference page where you just pointed to a location on disk and got your target setup. There’s really no way to manage that in any sensible fashion so the first step was to come up with a way to specify what composes a target platform. We came up with the concept of target definitions and bundle containers. Along with that concept, came a new editor that allows you to compose target definitions and share them with your colleagues:

PDE Target Editor

As a result, we also revamped the target platform preference page to be simpler and just list all the target definitions we can find:

PDE Target Platform

From early feedback, most people have been very pleased with the work that the PDE team did. All I can say is that in Eclipse 3.6, look for more improvements in this area. Our goal is to make bundle development as easy as possible for people!

API Tooling Enhancements

It shouldn’t be a secret, but one of my favorite projects at Eclipse is PDE’s API Tools. The main reason is that once you start building complex applications with OSGi, good version management tools are critical. The main reason for this is that people tend to treat versions as a marketing number and not an indication of contract. The travesty of how we treat version numbers in the software world deserves its own posting, so I’ll save that for later. API Tools helps us crafting the right version number based on the changes in our code. Add a new API method, well that will be a minor version bump for you! Break API? Well that will be a major version bump for you!

In Eclipse 3.5, the API Tools team added support for execution environment validation:

PDE EE Validation

This basically solves the problem of developing for a certain version of Java and using methods from a newer version of Java. Inside the Eclipse platform project, we’ve had many builds broken due to people doing this so we finally invested in creating the tooling to rectify the situation.

Another thing that was added was the ability to compare baselines within the UI:

PDE API Tooling Changes

You are now easily able to compare a bundle in your workspace with one in your baseline to see what’s changed. You can easily take a gander at what methods, fields and classes were added or removed.

In Eclipse 3.6, look for the PDE API Tools team to further improve the tooling and focus on package level versioning.


The Eclipse Memory Analyzer (MAT) project makes it debut this year as part of the Galileo train. In my opinion, it’s one of the hidden gems at Eclipse. In short, MAT will is the best heap dump analyzer out there. It has the magical ability of finding memory leaks. The best thing I can say is snap a couple heap dumps from your application and run it through MAT… see what shows up. Here are some useful resources to get you started:


We have two new packages part of the Galileo release which really representing Eclipse’s growing constituency of developers:

EPP Packages

There is a PHP Package now for the PHP community. It’s quickly becoming one of the more popular packages people download at based on the stats. The other new package is Pulsar which was built specifically for the Mobile Java community. Pulsar is essentially a mashup of the Eclipse SDK and the Eclipse MTJ projects with the ability of downloading more tools from different handset manufacturers.

I wonder what next year will hold for new packages?

Thanks for reading and hopefully I’ll see you next year for the Helios release train πŸ™‚

Galileo Test Drive

I had fun test driving Galileo this weekend. Things are looking pretty good… it’s exciting to see over 30 Eclipse projects be part of the Galileo simultaneous release this year. Since Eclipse uses OSGi and has a great extensibility mechanism via the extension registry, we make it really easy for plug-ins to play together. This may sound great, but there’s a problem with seamless integration sometimes. For example, take a look at this screenshot from Galileo:

What’s the problem here? Well, it seems we have some people that think their contributions are the most important in the world. It happens, it’s very common for a developer to do something like this because it’s much harder to scope a contribution than to simply add one. I’m going to do my part and open bugs against issues I find… we’re lucky to have early access to Galileo builds so we can do a review like this. I heartily recommend that Eclipse committers give Galileo and early test drive and look for problems. By reporting and solving these problems early, we can make a better release for our consumers.

If you’re going over the Galileo release, why not take some time to go over the Eclipse UI guidelines too?

Galileo IP Deadline

FYI Eclipse committers, the Galileo IP deadline is January 31st. If you have any third party libraries or contributions that need to be reviewed, get them in now! Otherwise, you’ll risk falling off the Galileo train.

Getting on the Galileo Train

A special reminder to Eclipse projects, you have until December 12th to state your intent to get on the Galileo Simultaneous Release train. To communicate your intent, simply state it on this bug and follow the directions.

Also, it’s exciting to see some new faces on the train…

If you don’t see a project on the release train list and you would like to see them there, how about sending the project a friendly email stating your support for them joining the train. You know, kind of like me wanting to see PHP Development Tools (PDT) there… it just takes a note to voice your support and you can wish for it to happen πŸ˜‰