JRubyのコードをexeファイルにする方法とMacの.app形式にする方法

JavaとかJRubyはインストールしておいてください。
やり方は省略です。

rawrをインストールします


MatzRubyjruby -Sgemrake
gemrakeMatzRuby
jruby -S gem install rawr

rawr-1.1.2gemjruby_fetch.rb
rawr-1.1.2/libwget
http://gitorious.org/projects/rawr

wget http://gitorious.org/projects/ 途中省略 /lib/jruby_fetch.rb

実行するスクリプトを用意します


rubymain.rb
lib/ruby
main.rb
#!/usr/bin/env jruby
require 'java'
import 'javax.swing.JFrame'
import 'javax.swing.JButton'
frame=JFrame.new
button=JButton.new("Click Me")
frame.default_close_operation=(JFrame::EXIT_ON_CLOSE)
frame.content_pane.add(button)
frame.set_size(300,300)
frame.visible=(true)

jruby.jar
jruby-1.1.6/lib/jruby.jar
mkdir jikken
cd jikken
mkdir -p lib/ruby
mkdir -p lib/jruby
mv ~/main.rb lib/ruby
cp ~/local/jruby-1.1.6/lib/jruby.jar lib/jruby

作成します

作業ディレクトリへrawrのインストール

jruby -S rawr install

rakeのtask一覧を見てみましょう

% jruby -S rake -T
(in /Volumes/xibbar/jruby/rawr)
rake rawr:build_data_jars           # Build all data jars
rake rawr:bundle:app                # Bundles the jar from rawr:jar into a ...
rake rawr:bundle:exe                # Bundles the jar from rawr:jar into a ...
rake rawr:clean                     # Removes generated content
rake rawr:compile                   # Compiles all the Java source and Ruby...
rake rawr:compile_duby_classes      # Compiles the Duby source files specif...
rake rawr:compile_java_classes      # Compiles the Java source files specif...
rake rawr:compile_ruby_classes      # Compiles the Ruby source files specif...
rake rawr:get:current-jruby         # Fetch the most recent build of  jruby...
rake rawr:get:current-stable-jruby  # Fetch the most recent stable jruby-co...
rake rawr:jar                       # Uses compiled output and creates an e...
rake rawr:load_configuration        # Loads data from the build_configurati...
rake rawr:prepare                   # Creates the output directory and sub-...

パッケージング用のディレクトリを作成します。

jruby -S rake rawr:build_data_jars

Windowsの実行形式であるexeファイルを作成


exe
jruby -S rake rawr:bundle:exe

package/windows
% ls -l package/windows 
total 80
-rwxr-xr-x  1 fujioka  staff  25600 Dec 20 22:28 ChangeMe.exe
-rw-------  1 fujioka  staff   7212 Dec 20 22:28 ChangeMe.jar
-rw-r--r--  1 fujioka  staff    879 Dec 20 22:28 configuration.xml
drwxr-xr-x  3 fujioka  staff    102 Dec 20 22:28 lib

jarlibjruby.jar

^^;
java
jarexe

Macの実行形式である.appディレクトリを作成


exe
jruby -S rake rawr:bundle:app


ls -l package/osx 
total 0
drwxr-xr-x  3 fujioka  staff  102 Dec 20 22:26 ChangeMe.app

Finder
jruby
java
rubyGUI


設定を編集しよう

build_configuration.rbが設定ファイルのはずなので、ここを編集すると、
ChangeMeから任意の名前に変えたりできるはず。