Bunny は GHC (Haskell Platform) が動作する Windows (MINGW)または Linux 上で動作可能です。ビルドするためには Haskell Platform に含まれるもの以外に、以下のツール・ライブラリをあらかじめインストールしておく必要があります。
Bunny を利用して Android アプリを作成するには、Android Studio / Android SDK Platform Tools が必要です。 Android Studio をインストールしたら、少なくともひとつ Android Studio プロジェクトを作成しておく必要があります。これは、Bunny が local.properties ファイルを必要とするためです。
Platform Tools をインストールしたら、パスを通しておいてください。
javac, java にもパスが通っている必要があります。これは、Android Studio に同梱されているものを用いるようにした方が確実です。 Linux の場合には、$INSTALL_DIR/android-studio/jre/bin に、 Windows の場合には /c/Program Files/Android/Android Studio/jre/bin にパスを通しておくことになります。
パスが通っていることの確認例を以下に示します。具体的なパスは環境毎に異なります。
確認例(Linux の場合):
$ which javac /home/<user name>/android-studio/jre/bin/javac $ which java /home/<user name>/android-studio/jre/bin/java $ which adb /home/<user name>/Android/Sdk/platform-tools/adb
確認例(Windows (MINGW) の場合):
$ which javac /c/Program Files/Android/Android Studio/jre/bin/javac $ which java /c/Program Files/Android/Android Studio/jre/bin/java $ which adb /c/Users/<user name>/android/platform-tools/adb
作者の手元では、Linux, Windows それぞれ以下の環境で動作を確認済です。
ソースファイルを展開したら、compiler ディレクトリに移動し make してください。
$ cd compile $ make
コンパイルが成功したら、簡単な Haskell プログラムを Bunny でコンパイルして動作確認します。
$ bin/bunny testrun sample/Hello.hs
その後に以下のように表示されたら動作確認は成功です。
Hello, World!
動作確認ができたら、install.sh をつかってインストールします。 そのまえに、環境に応じた local.properties ファイルを用意する必要があります。 ~/AndroidStudioProjects/ など、既存の Android Studio プロジェクトが格納されたディレクトリから、適当なプロジェクトの local.property ファイルをコピーして用います*1。 (以下では MyFirstApp プロジェクトからコピーしていますが、適切なプロジェクト名に読み替えてください。)
cp ~/AndroidStudioProjects/MyFirstApp/local.properties AndroidProjectPrototype/
その後、install.sh スクリプトを用いてインストールします。
$ ./install.sh
デフォルトでは、$HOME/bunny/0.9.0 の下にインストールされます。 $HOME 以外の場所にインストールしたい場合には、install.sh の引数としてパスを与えます。
インストールできたら、$HOME/bunny/0.9.0/bin (または、インストール場所を指定した場合にはそれに応じたパス)を PATH に加えてください。
正常にパスを通せたら、bunny --version と打ってみてください。 以下のように表示されるはずです。
$ bunny --version Bunny - A Haskell compiler for android, version 0.9.0 (Basecamp)
以下のように android のサブコマンドで bunny を実行すると、 Haskell プログラムをコンパイルしたうえで、そのコンパイル結果を含む Android プロジェクトが作成されます:
bunny android <source-file>
Android プロジェクトができてたら、そのディレクトリに移動し、 ./gradlew (または ./gradlew.bat (Windows の場合)} を用いて Android アプリケーションをビルドすることができます。
bunny android sample/Hello.hs cd ~/BunnyProjects/Hello ./gradlew assembleDebug