JRuby Port Progress and Plans
24 Aug 2009

I’ve spent the evening on the port and it’s progressing well. There are two projects that need porting:


GtkMateView is the syntax highlighter component of Redcar. At the moment it is written in Vala, a fine C#-style language for the GObject system. �In order to run Redcar on JRuby, this GUI widget needs to be ported to Java.

Silvio, myself and Aokai have begun this and our work is on Github�here. Porting from Vala to Java (like porting from C# to Java) is a fairly efficient process. Tedious - but efficient. We have already got several large classes, in particular the syntax Patterns and the Scope matcher, working in Java. This project will be 100% Java.


Redcar is written in Ruby with GTK+. We need to port over Redcar from using GTK to using SWT, and make sure that everything still works on JRuby. Almost every class in Redcar will be touched by this change.

I would like to separate the plugins into two groups, the core models and the gui interfaces. So the core plugin will be split into core and�core-swt, the project plugin into project and project-swt. Almost all the features can be moved over without change, although the step definitions will need to be rewritten.

We can turn off most plugins at the start and turn them back on one-by-one as we port them. So we should have a basic application frame up and running fairly soon. We also need to make sure that Cucumber and RSpec are working. Once that is done, porting of the plugins can happen in parallel, so people who want to help out can grab one and start.

We also need to get packaging sorted out from the start to avoid difficulty later. Silvio has been looking into this and it seems that we will be able to wrap up all of Redcar into a single .jar file before we are done (though we will still need Debian packages on top of that).

So Milestone 1 for the Redcar port is:

  1. Working application frame.
  2. Cucumber hooked up.
  3. RSpec hooked up.
  4. Single jar file packaging.
With a bit of luck, we can reach this sometime next week, which will give us a secure base for the rest of the work.

Good night!

blog comments powered by Disqus