Thursday, January 29, 2009

The JRuby Version String

I just love the JRuby version string. I love it so much, I'm microblogging what each piece means.
jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-01-29 rev 8947+3) [x86_64-java]
  • Obviously "jruby 1.2.0" is the name of the impl and the version number. We'll probably modify this to suffix "-dev" on trunk.
  • "ruby 1.8.6 patchlevel 287" roughly identifies which release of Ruby the current mode is intended to be compatible with.
  • "2009-01-29" is the date it was built.
  • The revision number "8947+3" indicates the base SVN revision is 8947 and I'm three commits ahead of it on my local git-svn clone. If I were using straight-up SVN it would just show current revision. Once we move to git it will just show the current hash, plus possibly the hash of origin's HEAD.
  • And finally "x86_64-java" identifies the hardware and platform we report to Ruby programs.
Now what I really like is what happens when you specify the --1.9 flag:
jruby 1.2.0 (ruby 1.9.1 patchlevel 0) (2009-01-29 rev 8947+3) [x86_64-java]
How cool is that?