Author: djspiewak
Date: Tue Jun 23 00:03:39 2009
New Revision: 787470

URL: http://svn.apache.org/viewvc?rev=787470&view=rev
Log:
Added JIRB shell provider

Added:
    buildr/trunk/lib/buildr/core/jirb.rb
Modified:
    buildr/trunk/lib/buildr/core.rb
    buildr/trunk/lib/buildr/shell.rb

Modified: buildr/trunk/lib/buildr/core.rb
URL: 
http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/core.rb?rev=787470&r1=787469&r2=787470&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/core.rb (original)
+++ buildr/trunk/lib/buildr/core.rb Tue Jun 23 00:03:39 2009
@@ -27,3 +27,5 @@
 require 'buildr/core/transports'
 require 'buildr/core/generate'
 require 'buildr/core/osx' if RUBY_PLATFORM =~ /darwin/
+
+require 'buildr/core/jirb'             # where else?

Added: buildr/trunk/lib/buildr/core/jirb.rb
URL: 
http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/core/jirb.rb?rev=787470&view=auto
==============================================================================
--- buildr/trunk/lib/buildr/core/jirb.rb (added)
+++ buildr/trunk/lib/buildr/core/jirb.rb Tue Jun 23 00:03:39 2009
@@ -0,0 +1,35 @@
+require 'buildr/shell'
+
+module Buildr
+  class JIRB < Buildr::Shell::Base
+    class << self
+      def lang
+        :none
+      end
+    end
+    
+    def launch
+      fail 'Are we forgetting something? JRUBY_HOME not set.' unless jruby_home
+      
+      cp = project.compile.dependencies.join(File::PATH_SEPARATOR) + 
+        File::PATH_SEPARATOR + project.path_to(:target, :classes)
+      
+      cp_var = ENV['CLASSPATH']
+      if cp_var
+        ENV['CLASSPATH'] += File::PATH_SEPARATOR
+      else
+        ENV['CLASSPATH'] = ''
+      end
+      ENV['CLASSPATH'] += cp
+      
+      system(File.expand_path('bin/jirb', jruby_home))
+    end
+    
+  private
+    def jruby_home
+      @home ||= ENV['JRUBY_HOME']
+    end
+  end
+end
+
+Buildr::ShellProviders << Buildr::JIRB

Modified: buildr/trunk/lib/buildr/shell.rb
URL: 
http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/shell.rb?rev=787470&r1=787469&r2=787470&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/shell.rb (original)
+++ buildr/trunk/lib/buildr/shell.rb Tue Jun 23 00:03:39 2009
@@ -63,7 +63,7 @@
         end
         
         if lang == :none
-          p.each load_provider
+          p.each { |x| load_provider.call x }   # grrr...
         else
           load_provider.call p
         end


Reply via email to