JRuby ports of Ruby/LDAP, ruby-debug
Ola Bini just added another port of Ruby/LDAP called JRuby/LDAP. The JRuby version is built using the LDAP libraries shipped with Java and can be configured with the properties of Java LDAP. Installation is simple by using the Ruby Gems package system:
jruby -S gem install jruby-ldap
Another of JRuby's missing pieces is being worked on right now: fast debugging. Other Ruby implementations already have this in various states of completeness. Ruby 1.8.x has ruby-debug, which uses native extensions to speed up debugging. An alternative is Sapphire Steel's Cylon debugger. Rubinius has fast debugging using special bytecodes at runtime.
JRuby currently only uses the
set_trace_funcmethod of debugging.
set_trace_funcallows to set Ruby callback function or Proc, which is invoked every time a line of Ruby code is executed. This obviously slows down execution of code during debugging.
Now, a JRuby version of ruby-debug is in the works. Recently a milestone was reached: a first running version was packaged as a Ruby Gem; the project is hosted in the debug-commons project at RubyForge. Currently debugging in JRuby means using a
set_trace_funcbased implementation written in Ruby. jruby-debug uses a similar approach, but the code is written in Java, which should improve performance significantly by avoiding the execution of multiple lines of Ruby debugger code for every line of debugged Ruby code.
It's important to note, that at this time, the project is at an early state and not complete at all, but this is a promising start.
Martin Thompson Jul 27, 2014