- robocopying a directory into another directory recursively expects the
directory name to be properly mapped onto the destination, otherwise
all the files are copied into the given path. This patches things so
a directory-to-directory robocopy works as expected in a linux mindset
so tests pass
- the test for canonical paths didn't expect a windows environment at
all; the test (and library) is modified to be consistent in that
environment: always with a native format and with proper support of
drive letters.
if these directories actually exist they'll be added to the path ahead
of the release/standard distribution directories and they'll break eunit
and/or ct execution
fixes#950
This detects existence of Hex registry at
$HOME/.cache/rebar3/hex/default/registry and skips "rebar3 update" step.
It also detect presence of bootstrap dependencies in _build/default/lib/
and skips fetching them.
previously rebar3 dropped suites declared at the root of the project (via
`--suite=whatever_SUITE' probably) and warned. this was because the compiler
would recursively copy and compile everything in the directory indicated by
the test suite. this changes the copy mechanism to only copy erl source files
and directories that end with `_SUITE_data' into the `extras' dir in `_build'
This lets a plugin define templates to be loaded:
$ rebar3 new
...
proper (plugin): A basic PropEr suite for an OTP application
...
$ rebar3 new help proper
proper:
plugin template (...)
Description: A basic PropEr suite for an OTP application
Variables:
name="suite" (...)
...
→ rebar3 new proper fakesuite
===> Writing test/prop_fakesuite.erl
In this case, proper is a fake template file I've put by hand in
_build/default/plugins/rebar3_proper/priv/<somename>/, meaning it will
only work as far as it's called from the project's root.
The priority order of plugins is now .config > plugin > built-in, such
that someone could ensure plugins do not crush their own private
templates, but also that custom or plugin templates do overtake built-in
ones. It used to be Built-in > .config only.
Templates are searched for recursively in the priv/ directory of
plugins.
This should fix#955
The test is implicit as a bad index previously silently crashed rebar3.
By adding the bad index to the `new` suite's files, we can show that
things keep running.