Eclipse on a Mac

May 30, 2012 | 2 min Read

As Pascal mentioned yesterday, on a Mac, Eclipse based applications can now be shipped with the standard Mac layout. For those not familiar with the problem, if you structure your Mac application in a certain way (follow a particular convention) then your entire application appears as a single executable to the user. This means thatRCP applications can be easily deployed to the Applications folder and users can interact with these applications using finder, spotlight, and other Mac tools. From a technical perspective, all the resources (plugins, images, launchers, etc/) live beneath the root folder. From a user perspective, the root folder looks like a single file (application) which can be copied, launched, etc/

This also means that RCP applications, deployed as standard mac applications, now now benefit from the Eclipse provisioning platform (p2), with things like self-update.

Just to set some expectations, the upcoming version of Eclipse (Eclipse Juno) will not ship with this layout. It´s far to late in the cycle to introduce such a major change, but you can use this layout for your own Eclipse based applications. You simply need to use the p2 director and deploy the application to a directory with a .app extension. In your PDE Product Build you can achieve this by setting the archivePrefix to something with a .app extension (although this will affect all your platforms, not just Mac).

archivePrefix=MyApplication.app

This is a great enhancement to Eclipse and should help those building RCP Based applications targeting Mac users. I can´t thank both Pascal and Manumitting Technologies enough! Brian and Pascal, the next time we´re all together, the beer´s on me.

What do you think, should we consider this layout for the Eclipse Kepler release?

Image from: https://www.flickr.com/photos/chrismoody1111/2453087146/

Ian Bull

Ian Bull

Ian is an Eclipse committer and EclipseSource Distinguished Engineer with a passion for developer productivity.

He leads the J2V8 project and has served on several …