我sbt plugin从GitHub尝试。目前它是非常简单的,但它应该下载jruby jar并允许在编译之前调用.rb文件。
插件的胆子非常简单:
import sbt._
object SbtJRuby extends Plugin {
object SbtJRubySettings {
lazy val settings = Seq(Keys.commands += jirb, tx, jrubyFile := file("fnord.rb"))
}
def jirb = Command.args("jirb", "<launch jirb>") { (state, args) =>
org.jruby.Main.main(List("-S", "jirb").toArray[String])
state
}
val jruby = TaskKey[Unit]("jruby", "run a jruby file")
val jrubyFile = SettingKey[File]("jruby-file", "path to file to run with JRuby")
val tx = jruby <<= (jrubyFile, Keys.baseDirectory) map { (f: File, b: File) =>
val rb = (b/f.toString).toString
// println("jruby with " + rb)
org.jruby.Main.main(List(rb).toArray[String])
}
}
真的所有它做的是叫你在已通过的RB文件的名称JRuby的jar文件,当然增加的JRuby本身。可管理的依赖关系:
libraryDependencies ++= Seq(
"org.jruby" % "jruby-complete" % "1.6.5"
)
它还向Scala控制台添加了一个“jirb”命令,它将您置于jirb会话中。
There's http://mvnrepository.com/artifact/org.jruby/ – 2011-10-30 20:56:30
太好了。现在,我将如何使用它通过bundler安装并执行gem? – Debilski 2011-10-30 23:27:20