Rebar3 Umbrella Projects

21 Dec 2022 14:29 erlang rebar3

Some notes about using rebar3 with an umbrella project.

rebar3 new umbrella name=foo      # umbrella and release are aliases
cd umbrella/
cd apps/
rebar3 new app name=bar
rebar3 new lib name=baz

It doesn’t set up the application dependencies (because it can’t know what you mean to do), so you’ll need to do that yourself. Edit apps/foo/src/foo.app.src:

  %...
  {applications,
   [kernel,
    stdlib,
    bar,
    baz
   ]},
   %...

Or, maybe, edit rebar.config:

%...
{relx, [{release, {foo, "0.1.0"},
         [foo, bar, baz,
          sasl]},
%...