When setting up a shell some time elapses between listing the pids and setting
the group_leader. If the process exited during that time then
erlang:group_leader/2 will crash with badarg.
Config files from the command line would expect the wrong format:
{app1, [...]}.
{app2, [...]}.
Instead of the correct sys.config format:
[{app1, [...]},
{app2, [...]}]
Not supported yet: the recursive file references documented in
http://www.erlang.org/doc/man/config.html
While 'do' skips state updates between subcommands so that:
rebar3 do a, b == (rebar3 a && rebar3 b)
The final state of 'b' does not need to be discarded and might in fact
be useful to get when dealing with Rebar3 as an API.
This can be done without breaking the equality relation already
established.
- moved path addition, config loading and app boot to before the shell
is available
- apps successfully booting are in an INFO message, failed to boot into
an ERROR message
- A warning is printed when apps are booted informing to please use
releases for actual deployment, and is omitted otherwise.
- Some minor refactorings otherwise.
adding it results in ct test suites being compiled before they're
properly copied so changes made to suites between runs are not
reflected if a run fails before test dirs are copied
like `src_dirs`, `extra_src_dirs` are directories to be copied to
the `_build` dir and compiled. unlike `src_dirs` they are not added
to the .app specification
- The rebar package index files have been moved off the default path and
will require a new `rebar3 update`
- Caching of downloaded packages automatically takes place in a path
relative to the CDN used
- The cache path is not shared with hex as we now write and modify data
in there arbitrarily
- Basic tests plus the working set for more of them is included