The test works by using a parse transform that stamps modules with an
attribute as it runs them. It then compiles everything, loads the
module, and makes sure the stamps respect the defined order.
* All configuration is moved to `{dialyzer, PropList}`
* `dialyzer_warnings` renamed `warnings`
* `dialyzer_plt_warnings` renamed `get_warnings`
* `dialyzer_plt_apps` renamed `plt_extra_apps`
* `dialyzer_plt_dir` renamed `plt_location`
* `{plt_location, local}` uses profile base directory
* `dialyzer_plt` removed
* `dialyzer_plt_prefix` sets prefix of PLT name (default "rebar3")
* `dialyzer_base_plt_apps` renamed `base_plt_apps`
* `dialyzer_base_plt_dir` renamed `base_plt_location`
* `{base_plt_location, global}` uses rebar3's global cache directory
* `dialyzer_base_plt` removed
* `base_plt_prefix` sets prefix of PLT name (default "rebar3")
PLT files are always named `<prefix>_<otp_version>_plt` to match rebar.
`plt_prefix` and `base_plt_prefix` are not available in rebar, where the
prefix is always set to the project's top level application.
Lock forwarding is what happens when the file on disk are on a different
version from what is specified in the lock file. Files on disk should be
updated to respect what's in the lock file.
A negative test has been added so that lock files that are outdated vis.
the underlying git and packages but match files on disk do not get
forwarded. This job is left to the `upgrade' command.
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