There are only a few guarantees in life, death, taxes and an Eclipse milestone every 6 weeks. And just like 6 weeks ago, the Eclipse platform team has put out another milestone towards the Indigo release. This milestone includes both the Eclipse 3.7 and 4.1 platforms. There are some pretty exciting new features including:
Job image overlay in task item:

Improved sash handling (version 4.1 only):

You can now ‘open the return type’ for a method (no more jumping to the method first, and then going to the return type)

For a complete list of new features, checkout the New and Noteworthy or download the milestone here.
Tags: indigo
You used to have just two options for deploying a RAP application:
- Packing your application into a WAR archive and deploying it on a standard servlet container such as Tomcat, or
- Embedding the Application and a servlet container in a standalone Equinox instance.
Now you have a third option because RAP runs on Virgo! Virgo is a full-featured OSGi based application server and is one of the shining new stars of the Eclipse ecosystem. Previously, we weren’t able to deploy RAP applications on this server because we were blocked by bugs relating to split packages. However, over the last few weeks we worked together with the Virgo team to fix these issues and we are happy to report success.
Here are the steps we used to deploy RAP on Virgo. We know the process can be improved, but just to give you an idea of how it works, try the following:
- Download Virgo Kernel[1] (2.1.0.RELEASE) and unpack the downloaded archive to a directory (We’ll use ${KERNEL_HOME} in this post).
- Download the RAP Runtime[2] (1.3.x) and extract the contents of the plugin folder into the Virgo repository:
unzip rap-runtime-1.3.1-R-20100915-2301.zip "eclipse/plugins/*.jar" -x "eclipse/plugins/*.source_*" -d /tmp
cp /tmp/eclipse/plugins/*.jar ${KERNEL_HOME}/repository/usr
- (via OSGi console) Enable the OSGi console by configuring the User Region, Virgo’s subsystem for managing user applications.
Open $SERVER_HOME/config/org.eclipse.virgo.kernel.userregion.properties and uncomment the osgi.console property:
...
# osgi console support
osgi.console=2401
- (optional) Change the default port of the OSGi HttpService
export JAVA_OPTS=-Dorg.osgi.service.http.port=10081
- Start the Virgo Kernel
./startup.sh
...
[2010-10-28 11:43:23.767] Thread-2 User region ready.
- Virgo Plans[3] encapsulate the artifacts of an application as a single unit. We’ve created a rap-demo.plan for you. You can inspect and download from here:
rap-demo.plan
- Now add the downloaded rap-demo.plan to the pickup folder ${KERNEL_HOME}/pickup. You will see the following deployment:
[2010-10-28 11:04:02.113] fs-watcher <HD0001I> Hot deployer processing 'MODIFIED' event for file 'virgo-rap-demo.plan'.
[2010-10-28 11:04:02.161] fs-watcher <DE0000I> Installing plan 'virgo-rap-demo' version '1.3.1'.
[2010-10-28 11:04:02.187] fs-watcher <DE0000I> Installing plan 'vigo-equinox-extensions' version '3.6.1'.
[2010-10-28 11:04:02.209] fs-watcher <DE0000I> Installing plan 'virgo-rap-extensions' version '1.3.1'.
[2010-10-28 11:04:06.397] fs-watcher <DE0000I> Installing bundle 'org.eclipse.rap.demo' version '1.3.1.20100915-2301'.
[2010-10-28 11:04:06.966] fs-watcher <DE0000I> Installing bundle 'org.eclipse.osgi.services' version '3.2.100.v20100503'.
[2010-10-28 11:04:07.473] fs-watcher <DE0000I> Installing bundle 'org.eclipse.equinox.preferences' version '3.3.0.v20100503'.
[2010-10-28 11:04:07.775] fs-watcher <DE0000I> Installing bundle 'org.eclipse.equinox.app' version '1.3.1.R36x_v20100803'.
[2010-10-28 11:04:08.440] fs-watcher <DE0000I> Installing bundle 'org.eclipse.core.commands' version '3.6.0.I20100512-1500'.
...
[2010-10-28 11:05:45.458] fs-watcher <DE0004I> Starting bundle 'org.eclipse.rap.demo' version '1.3.1.20100915-2301'.
[2010-10-28 11:05:45.464] start-signalling-1 <DE0005I> Started bundle 'org.eclipse.rap.demo' version '1.3.1.20100915-2301'.
- (via OSGi console) You can now start the OSGi HttpService using the Equinox Console and start the HttpService manually
user@hostname:~/> telnet localhost 2401
Trying ::1…
Connected to localhost.
Escape character is ‘^]’.
osgi> ss
…
33 <<LAZY>> org.eclipse.equinox.http.jetty_2.0.0.v20100503
…
osgi> start 33
- And, finally point your browser to http://localhost:10081/rap?startup=controls …
That’s it – RAP is now running on Virgo. We want to improve this process over time and, hope that you will share some ideas with us on how to do this. You can respond to this blog or ping us on the RAP newsgroup.
PS -One alternative solution to starting the HttpService via the OSGi console is adding an autostart bundle to the plan:
- (via autostart) Download the org.equinoxosgi.core.autostart bundle as used at equinoxosgi.org – starts all lazy bundles in the OSGi container.
- (via autostart) Add the autostart bundle to the downloaded plan before dropping into the pickup folder.
<artifact type="bundle" name="org.equinoxosgi.core.autostart" version="[1.0.0, 2.0.0)" />
[1] Virgo Downloads - http://www.eclipse.org/virgo/download/
[2] RAP Runtime - http://eclipse.org/rap/downloads/1.3/
[3] Virgo Documentation - Programmer Guide 4.3 Creating Plans - http://www.eclipse.org/virgo/documentation/
[4] Virgo Documentation - User Guide 11.1. Configuring the Virgo Kernel and User Region - http://www.eclipse.org/virgo/documentation/
Tags: indigo, rap, virgo
Yesterday Apple announced the App Store for the Mac OS X Lion operating system, which will be released mid-2011. You probably know the App Store from the iPhone, iPod or the iPad. It’s a really cool way to install Apps. From a developer point of view it’s also interesting because a huge amount of the marketing for an App is done by the App Store for you.

For me as an Eclipse developer the first thing that came to my mind while watching yesterday’s Apple keynote was, “It would be so cool if I could install Eclipse or RCP-based Apps directly on my Mac with the App Store.” We know that in the past Apple hasn’t been very open to Java-based applications. But, since then, they have given up their strange licensing policy and allow Apps to be written in other technologies.
As a result of this, it should be possible to ship Java-based applications with the App Store. Of course, this is just my opinion and we have to make sure that Apple will allow it. But, if it’s allowed, this should be the last big hurdle before we can investigate the App Store for Eclipse and RCP-based Apps. Imagine: installing, auto updating, user reviews, marketing and ratings all under one hood. If we do this right, it could create a synergistic relationship between the App Store and the Eclipse Marketplace. For example, promote once and your application could show up on the Marketplace and the App Store.
So, it can’t be too early to start looking at the possibilities. I opened an Eclipse Bug to support the Mac App Store. Maybe you’re interested in this topic and want to help make it real. The bug id is 328317.
Tags: App Store, Apple, eclipse, indigo, IPad, iphone, iPod, Mac OS X, rcp
Since Friday, 1st October 2010 RAP 1.4 M2 is out. In this milestone we introduced some really great improvements. The first is that we gave RAP a facelift – that is, you’ll find a much cooler out-of-the-box look and feel. Building on the designs we created for RAP 1.3, RAP 1.4 comes with a more modern default look and feel. You can still activate the old look optionally – you’ll find it in a separate bundle called the classic theme. Compare the two looks here and see what you think. (You can click on the images to zoom in.)
| Before |
After |
 |
 |
The second big improvement in 1.4 M2 is the mobile Safari support, aka. support for using RAP on Apple’s mobile devices. We concentrated our work on making the widgets most used for this device, usable. Tim created a screencast which he mentioned in a previous post.
In a nutshell, I think this milestone is a big step towards another great release.
Tags: eclipse, indigo, rap