5

buildr プロジェクトで Ruby を使用するにはどうすればよいですか?

Ruby、JRuby、Java、および Clojure をかなりの数の個別のプロジェクトで使用してきました。私は現在、Clojure バックエンド (私は機能コードを楽しんでいます)、および JRuby GUI とテスト スイートでやりたいと思っていた標準の Ruby でシミュレーション アプリに取り組んでいます。将来的には、別のプロジェクトのバックエンドに Scala などを使用することも考えられます。

自分のプロジェクトで buildr (http://buildr.apache.org/) を試してみようと思いますが、buildr はプロジェクト自体の中で JRuby コードを使用するように設定されていないようです! このツールは一般的な JVM 言語を統合することを目的としており、 Rubyで構築されていることを考えると、これは少しばかげているように思えます。

出力されたjarファイルを別のRubyのみのプロジェクトに含める以外に、これをどのように達成するか知っている人はいますか?

4

2 に答える 2

7

(J)Ruby コードをどのように使用したいのかについてあまり具体的ではないので、考えられる多くのアプローチの中から 1 つの例を示します。

ディレクトリ構造を作成し、その中に Java と Ruby のファイルを入れてみましょう。

.
├── buildfile
└── src
    └── main
        ├── java
        │   └── Foo.java
        └── ruby
            └── app.rb

Foo.java以下の内容で、

public class Foo {
  public int bar() {
    return 42;
  }
}

簡単なapp.rb起動スクリプト、

puts "Foo.bar is #{Java::Foo.new.bar}"

あなたbuildfileはやや似ているでしょう、

VERSION_NUMBER = "1.0.0"

repositories.remote << "http://www.ibiblio.org/maven2/"

JRUBY = "org.jruby:jruby-complete:jar:1.6.3"

define "ruby-example" do
  project.version = VERSION_NUMBER
  project.group = "org.example"

  run.with JRUBY
  run.using :main => ['org.jruby.Main', _(:src, :main, :ruby, "app.rb")]
end

(runタスクはhttp://buildr.apache.org/more_stuff.html#runで文書化されています)

これで、次のように入力してアプリケーションを実行できます。

$ buildr run

次の出力を取得します。

$ buildr run
(in /home/boisvert/tmp/ruby-example, development)
Foo.bar is 42
Completed in 1.884s
于 2011-08-01T17:27:09.373 に答える
1

BuilderをインストールしてJRubyを使用できます。

于 2011-08-01T09:41:01.587 に答える