rebar、それはErlangのビルドツール

Erlangのコンパイラと言えばerlcですが、Erlang専用のビルドツールが存在します。それがrebarです。

まず、入手から。githubから落としてきます。

git clone git://github.com/basho/rebar.git

そして、rebarをビルドします。もちろんErlang OTPはインストール済みな状態からやりましょう。

cd rebar ./bootstrap

これでrebarコマンドができあがります。さっそく実行してみましょう。rebarがサポートするコマンド一覧を出力してみます。

./rebar -c

いろいろ出てくれば成功です。

新規にプロジェクトを始めるときには、以下のようにして自動生成させます。

mkdir myproject cd myproject cp ../rebar/rebar . ./rebar create-app appid=myproject

プロジェクトをコンパイルするには、以下のようにします。

./rebar compile

すると、ebinディレクトリができて、その中にbeamファイルが生成されます。

さて、既に作られているErlangコードがあれば、それをrebar対応したくなります。以下の手順で移行することができます。

  • rebarファイルをプロジェクトディレクトリのトップに置く。

  • srcディレクトリを作成し、erlファイルを全てsrcディレクトリ内に移動する。

  • アプリケーションソースファイル(app.srcファイル)をsrcファイル内に作成する。

このアプリケーションソースファイルは、いわばプロジェクトファイルになります。そのファイル名は、[プロジェクト名].app.srcとなります。myprojectというプロジェクト名としたければ、myproject.app.srcファイルとします。その内容は、以下のような感じです。

{application, myproject,
 [
  {description, ""},
  {vsn, "1"},
  {registered, []},
  {applications, [
                  kernel,
                  stdlib
                 ]},
  {mod, { myproject_main, []}},
  {env, []}
 ]}.

myproject_mainは、プロジェクトで中心となるモジュールの名前を書いておけば良さそうです。正確にはまだよくわからないけど。。。

ここまで来れば、rebar compileでコンパイルできるはずです。いくつかerlファイルがあれば、それらがebinディレクトリにbeamファイルとしてコンパイルされていることがわかると思います。

このエントリーをはてなブックマークに追加

関連記事

2023年のRemap

Remapにファームウェアビルド機能を追加しました

Google I/O 2023でのウェブ関連のトピック

2022年を振り返って

現在のRemapと今後のRemapについて