LoginSignup
11
13

More than 5 years have passed since last update.

JRubyスクリプトを配布可能な形にパッケージする

Posted at

JRubyスクリプトを実行可能な形にして配布したい場合には、Rawrを使用する。RawrはJRuby用のパッケージングのツールで、Rawrを使うことでWindowsやMac用の実行ファイルを簡単に作成することができる。

Rawrのインストール

Rawrは以下のようにしてインストールできる。

% gem install rawr --source http://gems.neurogami.com

プロジェクトのセットアップ

Rawrによるパッケージングを可能にするには、パッケージングを行いたいプロジェクトで以下のコマンドを実行する。

% rawr install

このコマンドを実行することで、必要なファイルのダウンロードやディレクトリレイアウトの作成などが行われる。内容は以下のような感じ:

% tree
.
├── Rakefile
├── build_configuration.rb
├── lib
│   └── java
│       └── jruby-complete.jar
└── src
    └── org
        └── monkeybars
            └── rawr
                ├── Main.java
                └── Path.java

プロジェクトのパッケージング

上記で生成されたRakefileにてパッケージング用のタスクが定義されるので、それらのrakeタスクを使ってプロジェクトのパッケージングを行う。

% rake -T
rake rawr:base_jar
rake rawr:build_extra_jars
rake rawr:bundle:app
rake rawr:bundle:exe
rake rawr:clean
rake rawr:compile
rake rawr:compile_duby_classes
rake rawr:compile_java_classes
rake rawr:compile_mirah_classes
rake rawr:compile_ruby_classes
rake rawr:get:current-jruby
rake rawr:get:current-stable-jruby
rake rawr:jar

exe形式にパッケージングしたい場合は、上記のrakeタスクのうちrawr:bundle:exeを実行することで./package/windows配下にパッケージされたアプリケーション一式が出力される。

% rake rawr:bundle:exe

パッケージング時の振る舞いについてはbuild_configuration.rbで設定できる。例えば以下のような感じ:

  • executable_type: アプリケーションがCUIかGUIか
  • source_dirs: ソースディレクトリ
  • files_to_copy: パッケージに含めたいファイルの指定
  • jvm_arguments: JVMに渡すオプション

Rubyスクリプトのパッケージングの選択肢としても

JRubyではなく、Rubyで書いていたものをパッケージして社内に配布したいというケースの選択肢としても活用可能(実際にそのケースで採用したのであった)。

参考

11
13
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
13