Rebar3 builds
| New project | |
| Project layout | |
| Compile | |
| Run it |
New project
Rebar3 is the standard build tool. The new command scaffolds a project from a template: app for a library, escript for a command line tool.
Answer the prompts and the skeleton appears in a folder with your project name.
rebar3 new app myapp
==> Writing myapp/src/myapp_app.erl
==> Writing myapp/src/myapp_sup.erl
==> Writing myapp/rebar.config
Project layout
Source lives in src, tests in test, and build products in _build. The rebar.config file holds the project settings and dependencies.
The scaffold also writes an OTP application skeleton with a supervisor, which lessons 35 and 36 explain.
myapp/
rebar.config
src/myapp_app.erl
src/myapp_sup.erl
test/
_build/
Compile
The compile task builds every module in src and leaves beam files under _build. Rebar3 tracks dependencies and only rebuilds what changed.
Warnings from the compiler appear in the output; treat them as errors until the project is green.
rebar3 compile
==> Compiling myapp
==> App myapp compiled to _build/default/lib/myapp/ebin
Run it
The shell task starts an erl with the project on the code path. Your modules are already loaded and ready to call.
For a one-off run without the shell, use the escript template or erl with the -pa flag pointing at the ebin folder.
rebar3 shell
==> Booted myapp
Eshell V15.2 (abort with ^G)
Next: Testing with EUnit
Article author: Arthur Isaev