You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildr.apache.org by dj...@apache.org on 2009/06/23 02:01:12 UTC

svn commit: r787456 - /buildr/trunk/lib/buildr/scala.rb

Author: djspiewak
Date: Tue Jun 23 00:01:11 2009
New Revision: 787456

URL: http://svn.apache.org/viewvc?rev=787456&view=rev
Log:
Added prototype implementation of scala:shell task

Modified:
    buildr/trunk/lib/buildr/scala.rb

Modified: buildr/trunk/lib/buildr/scala.rb
URL: http://svn.apache.org/viewvc/buildr/trunk/lib/buildr/scala.rb?rev=787456&r1=787455&r2=787456&view=diff
==============================================================================
--- buildr/trunk/lib/buildr/scala.rb (original)
+++ buildr/trunk/lib/buildr/scala.rb Tue Jun 23 00:01:11 2009
@@ -22,3 +22,30 @@
 require 'buildr/scala/bdd'
 
 Object::Scala = Buildr::Scala
+
+module Buildr
+  module ScalaProject
+    include Extension
+    
+    after_define do |project|
+      project.task 'scala:shell' => :compile do
+        Scalac = Buildr::Scala::Scalac
+        
+        Scalac.scala_home or fail 'Are we forgetting something? SCALA_HOME not set.'
+        
+        cp = (project.compile.dependencies + Scalac.dependencies).join(File::PATH_SEPARATOR) +
+          project.path_to(:target, :classes)
+        
+        cmd_args = " -Denv.classpath='#{cp}'"
+        cmd_args += ' -classpath'
+        cmd_args += " '#{cp}'"
+        
+        system(File.expand_path('bin/scala', Scalac.scala_home) + cmd_args)
+      end
+    end
+  end
+  
+  class Project
+    include ScalaProject
+  end
+end