Create a gist now

Instantly share code, notes, and snippets.

@voluntas /rebar3.rst
Last active Jul 24, 2016

What would you like to do?
rebar3 コトハジメ

rebar3 コトハジメ

日時:2016-07-24
作:@voluntas
バージョン:0.0.0
url:https://voluntas.github.io/

概要

rebar3 が https://github.com/erlang/rebar3 と Erlang/OTP 公式のビルドツールとして採用された。 今後 OTP も rebar3 でビルドできるようになるとのこと。

rebar3 では relx が統合されリリース回りも使いやすくなった。また hex が採用されたことによりパッケージ管理も容易になった。

ここでは rebar から rebar3 の移行や reba3 のポイントなどを実際に使っている経験からまとめていきたい

rebar2 から rebar3 へ

deps

eunit_formatters がデフォルトで入るようになったので deps に入れるのはやめよう。素晴らしい。

do

連続させた処理をさせたい場合は do を使うようになった。index を update して lib を upgrade して compile して eunit でテストをさせる場合は do update, upgrade, compile, eunit だ。 , でつないでいくのを忘れずに。

as

プロファイルという概念が入った。今までのように rebar.config にべた書きで書くとそこは default というプロファイルになる。全ての設定のベースになる設定と思えばいい。

これに対して製品やテストといったプロファイルがデフォルトで用意されている。製品用は prod 、テスト用は test だ。

もちろん自前で作っても良い。自分の場合は開発者用として dev というのを作っている。

test プロファイルを指定し手実行する場合は as test eunit だ。コンパイルから連続させたい場合は as test compile, eunit と書けば良い。

eunit

実行時がルートディレクトになり、今までのように .euint/ ではなくなったため、 test/ に fixtures などを置いていた場合は ../test/.. と書いていたのはそのまま test/.. と書こう。

eunit で失敗すると cover を実行してくれないので、 rebar3 as test eunit; rebar3 as test cover とするしかない。

relx の統合

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment