Sunday, January 20, 2008

EMF and RAP Go Great Together Too!

I finally managed to get our infamous RCP Library application RAPified and running with the RAPified EMF UI libraries. The results are in 213988. Here it is running in a browser.


The most challenging part of the whole exercise for me was getting the darned thing to launch. It's tricky because you need to include plugins that are not actually required based strictly on plugin dependencies. Getting the magic URL right is important too.

I ran into a few issues, one of which is already fixed (those RAP guys are quick!) with a simple patch; it sure is nice to have the RAP source code extracted from CVS for easy hackability. There was also a problem with activation that I've asked about on the RAP newsgroup, but I managed to hack the Shell implementation to make that work too. The viewer pane rendering is still kind of screwed up and it is rather dysfunctional too; it should look just like the pane title on the properties view, but I'll get to that eventually.

So now we have EMF for RAP, eRCP, and GWT. Unfortunately I never have been able to figure out how to get GWT to work for me, but Tom has made good progress on that via 209434, 209435, and 211340.

I'm having one of those "get a life dude" moments, but soon February 2nd will roll around and then I'll be boarding this ship for a week:


After that, I transfer to this slightly fancier beauty for another week. Great flag eh?!


The past week had it's fair share of controversy with the communal desire for an image editor running counter to the platform's desire for minimalism; I hope the discussion doesn't degrade too badly. I'm waiting for another chapter of "as the stomach turns" on this one. And of course there was the very interesting spin off bugzilla to move JDT and PDE out of the platform. "Just say no to special status" I fired off provocatively. Aren't diverse communities great? Never a dull moment or a lack of opinions, that's for sure! I'm keeping a close eye on these...

3 comments:

Tom said...

That's great, really great I hope I'll soon find the time to finish the workspace to get you started with GWT too (at least when we meet at EclipseCon I could set it up for you and if we find some time there we could hack on it together)

Jochen said...

You are incredible! Very cool.

Unknown said...

Thanks for your blog. Actually i'm trying to reproduce the example. I installed Eclipse EMF and RAP. I configured the target platform to mixed EMF and RAP.
When i launch the example i have the error:

So, have you one idee how i can solve the error?
Thanks

!SESSION 2014-06-11 18:16:10.065 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_05
java.vendor=Oracle Corporation
BootLoader constants: OS=macosx, ARCH=x86_64, WS=cocoa, NL=fr_FR
Command-line arguments: -dev file:/Users/jperezmedina/Documents/workspace/.metadata/.plugins/org.eclipse.pde.core/RAP example/dev.properties -os macosx -ws cocoa -arch x86_64 -consoleLog -console -data /Users/testing/Documents/workspace/.metadata/.plugins/org.eclipse.rap.tools.launch/RAPexample

!ENTRY org.eclipse.osgi 4 0 2014-06-11 18:16:20.347
!MESSAGE Could not find bundle: org.eclipse.equinox.console
!STACK 0
org.osgi.framework.BundleException: Could not find bundle: org.eclipse.equinox.console
at org.eclipse.core.runtime.internal.adaptor.ConsoleManager.checkForConsoleBundle(ConsoleManager.java:58)
at org.eclipse.core.runtime.adaptor.EclipseStarter.startup(EclipseStarter.java:333)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:232)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)