Erlang Rebar使用ガイドの1つ:入門編

2588 ワード

Erlang Rebar使用ガイドの1つ:入門編


全文ディレクトリ:
https://github.com/rebar/rebar/wiki
本章原文:
https://github.com/rebar/rebar/wiki/Getting-started
Rebarは豊富なErlang構築ツールです.Erlang/OTPプロジェクトのコンパイル、テスト、依存管理、パッケージパブリケーションなどに使用します.Rebarは、プロジェクトに簡単に埋め込むことができる独自のスクリプトです.

1コンパイルrebar

    $ git clone git://github.com/rebar/rebar.git
    $ cd rebar
    $ ./bootstrap
コマンドの説明を表示します.
    $ ./rebar -c
    $ ./rebar help clean

2入門例


2.1プログラムディレクトリの作成

    $ mkdir myapp
    $ cd myapp

「1コンパイルrebar」で得られたrebarをmyappディレクトリにコピー
    $ cp ../rebar/rebar .

2.2最初のrebarプロジェクトの作成

    $ ./rebar create-app appid=myapp
    $ touch rebar.config

上記のコマンドを実行すると、myapp/srcに3つのファイルが生成されます.
  myapp.app.src-OTPアプリケーションリソース
  myapp_app.Erl-OTPアプリケーションを実装するbehaviour
  myapp_sup.Erl-最上位のOTP Supervisor behaviour
 

2.3プロジェクトのコンパイル

    $ ./rebar compile

上記のコマンドが実行すると、src/erlファイルに対応するebinディレクトリが生成されます.beamファイル
  src/myapp.app.srcはebin/myappを生成する.app
アイテムのクリーンアップ
    $ ./rebar clean

2.4試験項目

ReparはEUnitとCommon Testのテストフレームワークをサポートします.プロジェクトにEUintユニットテストを追加し、次のコードを追加します.
  src/myapp_app.erl:
  -export([start/2, stop/1]). 後に追加:
    %% eunit testing
    -ifdef(TEST).
    -include_lib("eunit/include/eunit.hrl").
    -endif.

ファイルの最後に追加:
    %% eunit testing
    -ifdef(TEST).

    simple_test() ->
        ok = application:start(myapp),
        ?assertNot(undefined == whereis(myapp_sup)).

    -endif.

ifdefマクロはテストフェーズコードを示し、製品にコンパイルされません.
コンパイルとテストを開始します.
    $ ./rebar compile eunit

以上のコマンドはコンパイルを2回、ebin/に1回、出力.eunit/:
    ==> myapp (compile)    Compiled src/myapp_app.erl    Compiled src/myapp_sup.erl    ==> myapp (eunit)    Compiled src/myapp_sup.erl    Compiled src/myapp_app.erl      Test passed.    =INFO REPORT==== 30-Nov-2014::03:50:01 ===        application: myapp        exited: killed        type: temporary
 

2.5テストコードオーバーライド率統計

myapp/rebar.configに次の行を追加します.
    {cover_enabled, true}.

再実行:
    $ rebar compile eunit

生成された統計ページは次のとおりです.eunit/index.html