Monday, June 29, 2009

Karaf PDE Integration AND Web Tools Platform Integration

Little by little I chip away at the workflow problems while developing OSGi applications. This evening I put the finishing touches on some refactoring and feature enhancements:

  • Refactored core, non-UI, code in to its own plugin
  • Finished the definition of my KarafTargetPlatformModel concept (more on this later).
  • Added a new OSGi Framework definition in Eclipse for Karaf on Equinox
  • Created an Eclipse Web Tools Platform Server Runtime for Karaf

All in all it was a very productive session. I will add the necessary code for the WTP Server Type soon.

Saturday, June 27, 2009

Update to Karaf PDE Integration: Now with Java 1.5 support!

I am pleased to release Karaf PDE Integration 3.4.2.20090613232

This update fixes a critical bug in how the target runtime plugin location was resolved as well as adding Java 1.5 support (it now works on my Mac which has been my litmus test for portability).

I am still working on my release engineering skills and have found the pde-maven-plugin. Hopefully I'll be able to fix it up so that a release is as simple as mvn install!

Using Karaf in Eclipse involves two steps:

  1. Set the Eclipse Target Platform to Apache Felix Karaf
  2. Create an Apache Felix Karaf launch configuration

From there you add / remove bundles in your workspace, install features in the Karaf CLI, you can also add more bundles by manipulating the target platform.

Since this is a very early release the workflow is a bit rough. I would like to make things much easier -- I have a very long list of things to do.

Saturday, June 20, 2009

Respin of the Karaf PDE Integration feature

There were some problems with the plugin's installation -- I'm not sure what was going on but I have created a new version and packaged it as a feature instead of a full update site. I also recompiled in using Java 1.5 bytecode in the hopes that I can get it running on my Mac.

In any case, I was able to install this plugin successfully on a fresh download of Eclipse 3.4 with no additional plugins.

Get Karaf PDE Integration 3.4.2.1 here

Friday, June 19, 2009

Eclipse plugin release tooling is not as easy as it looks!

Wow! I am surprised at the number of people that are interested in the Karaf PDE plugin. Unfortunately my understanding of how the Eclipse feature and update site tooling works is lacking so there are some gotchas with installation.

I am downloading a fresh copy of Eclipse (I can't find my original tarball) and will install my plugin to see what is going on.

Thursday, June 18, 2009

Eclipse Update site for Apache Felix Karaf PDE integration

I've been having some trouble building my Eclipse Update site for the Karaf PDE Integration feature. The tooling is not exactly efficient or easy to use. In any case, here is the update site for the feature:

http://stephen.evanchik.com/software/karaf-pde-integration-site/

Monday, June 15, 2009

Announcing Eclipse PDE Integration for Apache Felix Karaf

I am pleased to announce that the Eclipse PDE integration for Apache Felix Karaf is finally ready for others to use.

Notable features include:

  • A Target Platform Definition that allows developers to target only the bundles found in Karaf distributions.
  • An Eclipse Run/Debug launcher configuration that configures Karaf to run inside the workbench transparently to the developer
  • A context menu item "Run on Apache Felix Karaf"
  • Automatic deployment of workspace projects to running Karaf instances without copying files

There is still work to be done but at this point the integration is very functional and saves time developing applications that run on Karaf.

Friday, June 12, 2009

Karaf running with Workspace projects

Tonight is very exciting! I just finished off the initial work to get my Eclipse Karaf Launcher loading bundles from the workspace. This means that a developer can use PDE to write bundles and deploy them seamlessly to the Karaf/ServiceMix/NMR targets.

I still have some tasks left to do: the first is locating a suitable place to host the code! But it is getting late so I'm off to bed!

Screenshots below.