Help us understand the problem. What is going on with this article?

Rhino/JavaScriptをMacアプリに仕上げる方法

More than 5 years have passed since last update.

概要

AppleScriptを利用することで、RhinoのプログラムをMacアプリのように実行することができます。
これによって、ファイルのドラッグアンドドロップで、Rhinoのプログラムを実行できます。

実現方法

AppleScriptを利用して、シェルスクリプトからRhinoのプログラムを実行します。
そのため、Rhinoを起動するシェルスクリプトをはじめに作ります。

test.sh
#!/usr/bin/java -Dfile.encoding=UTF-8 -cp ./js.jar org.mozilla.javascript.tools.shell.Main

//
// ここに Rhino/JavaScriptのコードを記述
//

シェルスクリプトを起動するAppleScriptを記述します。

exec-rhino
on main(input)
    -- スクリプトの名前
    set mainScript to "test.sh"
    -- 親ディレクトリの取得
    tell application "Finder" to set parentDirPos to parent of (path to me) as text
    set parentDir to ((alias parentDirPos)'s POSIX path)
    try
        do shell script "cd " & parentDir & ";./" & mainScript & space & input
    end try
end main

on open argv
    repeat with aFile in argv
        main(quoted form of POSIX path of aFile)
    end repeat
end open

on run
    -- ファイル選択を行う場合
    -- main(quoted form of POSIX path of (choose file))
    -- 引数をつけない場合
    main({})
end run

さらに、スクリプトをAppleScriptエディタで記述し、ファイルフォーマットを「アプリケーション」として保存します。

参考

AppleScriptを使う方法以外に、Automator.appを使う方法があります。

その他のリソース

kujirahand
「クジラ飛行机」では技術文書の執筆やアプリの開発をしています。代表作は日本語プログラミング言語「なでしこ」、テキスト音楽「サクラ」。
https://kujirahand.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away