Skip to content

Instantly share code, notes, and snippets.

@voluntas
Last active July 24, 2016 02:55
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save voluntas/9d5da907cd0ef1458d0c to your computer and use it in GitHub Desktop.
Save voluntas/9d5da907cd0ef1458d0c to your computer and use it in GitHub Desktop.
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