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
Changelog since alpha-4:
- rebar3 now bootstraps itself
- app compile fixes on app info contents and config inheritance
- dropping ErlyDTL and going to Mustache for smaller executable sizes
and faster load time on small CPUs
- dropping `erlydtl compile` command, ErlyDTL task moved to a plugin
- default dependencies are always fetched in the right place and don't
need to be copied across profile runs
- escriptize fixes
- `unlock` command added
- resolving/avoiding clashes when a rebar3 dep and an application
dependency conflict together
- profile deduplication (`rebar3 as test,test,prod,test eunit` returns
the profile/directories for `prod+test`)
- `upgrade` command bugfixes to recognize promotion of transient deps to
top-level deps
- support template when rebar3 is run as an embedded library
- some optimizations
- parse transform support is better in erl_opts
- fixes to package handling
- fixes to `rebar3 deps`
Whenever files were being locked *and* provided in rebar.config
duplicates could be printed. This is taken care of.
Also whenever atom packages were being used, they would cause the merge
step to fail. The new format does proper name-based deduplication of
resources, giving priority to locks to work.
ModificatioN/needs-update support is still in.
This may also act as a fix for #341, if automation isn't required too
much.