Friday, March 15, 2013

Shared installs just got better!

For many years, shared installs have been a second class citizen to p2. Thanks to the sponsoring of Ericsson, I'm happy to announce that some of the most annoying bugs have been addressed in Eclipse Kepler starting at M6.

First and foremost, when changes are being made to a read-only Eclipse install, the plug-ins that have been installed by the user no longer vanish mysteriously leaving the workbench with a sea of red square icons (the sign that something went wrong).
Instead, on startup, the user is automatically presented with a migration wizard giving the opportunity to re-install these plug-ins. Should the user not be interested in migrating, a confirmation dialog shown upon cancellation gives the ability to delay the migration to a subsequent restart or completely ignore it.
 

Building on this support, we've also decided to assist users in re-importing their plug-ins from a previous read-only installation. The reason is simple, many corporations chose to deploy new versions of Eclipse in different folders. This is required to give teams the ability to adopt Eclipse at their own pace, but it also means that when users start using a new Eclipse install, they need to re-install the plug-ins they had installed on their own. Of course users could use the import/export feature provided by p2, but the time wasted by the user wondering why the plug-ins have vanished and then figuring out what to re-install can be significant, which is why in such situation we are also presenting the migration wizard.

We are feeling pretty good about those changes and hope you'll enjoy them. To give it a try, go and download the freshly new released M6 build of Eclipse SDK.


Update - What is a shared install? Eclipse is said to run in shared-install mode when the Eclipse installation folder is read-only. This situation happens when Eclipse is installed in C:\Program Files, or when it is installed by a package manager.
In such cases, when the user executes Eclipse a folder is created in the user home that stores all the configuration information as well as the plug-ins installed by the user.

Monday, February 25, 2013

The Eclipse Platform builds moved to Tycho, help wanted

Earlier Today, the Eclipse Platform team announced [1] that from now on, the official builds of the Eclipse Platform will be exclusively produced using Tycho instead of PDE Build.
This is a major milestone in the life of the project considering that it has been using and evolving PDE build for over 10 years. This conversion from PDE Build to Tycho has been months in the making and required non trivial work from many people. Congrats to everybody involved!

Why this switch? To make it easier for a wider audience to build the Platform (see instructions), and more generally to align the Platform build with the rest of the Eclipse Ecosystem that is "standardizing" around Tycho (this is also being referred to as the common build infrastructure aka CBI).

Though the team feels confident that things are in a working state, it is highly suggested that you try out those builds to help us find any remaining issue that could have slipped in. To that end, just pick any I build from http://download.eclipse.org/eclipse/downloads/ and report your bugs.

Friday, July 13, 2012

What will Maven do?


As much as Maven makes it easy to deal with builds, the plethora of XML and the varying life cycles phases can sometimes make it hard to figure out what a build will actually do.

To help with this, I'm happy to make available the Eclipse plugin called the "Maven Inspector". This plugin provides a simple View called "Maven Execution" that presents for a given POM file the phases and associated MOJOs.


Enjoy!

Tuesday, May 29, 2012

Eclipse-based applications as standard mac application bundle

It's not every day that a 5 digits bug number get's fixed in Eclipse*, so I'm happy to report that the long standing bug 57349 is now fixed in Juno (Eclipse 3.8 / 4.2). It means that you can now deliver eclipse-based applications as mac os x bundled applications.

New layout

For an end user, the biggest change brought here is that the application is now an opaque entity and it has an icon. See screenshot below of the same application to compare.


Now in the details, the new layout pictured on the left mainly differs from the legacy one on the right by two things:
  • the top level folder is now suffixed with .app; thus making the application an opaque entity that requires a special user action to navigate into it (this is also why the left picture does not show the top level folder)
  • the actual launcher included in the Contents folder is included as a child of the top level folder where as in the past it was in a folder whose name was the name of the launcher (e.g. myRCP in the example).


How do you enable this new layout?

  1. Make sure the application you are building uses p2 included in Juno
  2. Move your build environment to use PDE Build from Juno, or Tycho 0.15.
       This will cause the additional metadata necessary to support this new layout to be generated.
  3. When you invoke the p2.director (the one from Juno) to create your application simply suffix the install folder with .app and let the magic happen. If you don't want to keep the legacy shape, don't use the .app suffix. Here is an example of command line: ./eclipse -application org.eclipse.equinox.p2.director -installIU <iufortheproduct> -destination Applications/myCool.app -profile <somename> -repository <therepotoinstalltheproductfrom>

Note to tycho users

Tycho 0.15 (still in snapshot at the time of writing this post) generates the appropriate metadata and p2 repo, but the support to create an installation and archive with the correct layout is not yet released (bug 378021). To obtain the desired shape you can either call the p2 director as mentioned above, or use the workaround provided in bug 378021.

Note to PDE build users

PDE build generates the appropriate metadata and p2 repo, but it will not create an installation and archive with the correct layout. To obtain the desired shape you will have to manually invoke the p2 director as indicated above.

And to conclude I would like to mention that this work has been sponsored by Manumitting Technologies. * Well actually, at this point I count 28 5 digits bug number fixed in Juno and one 4 digits bug number - bug 9503