| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is based on issue #1517 where out of nowhere, CT has returned a
user's error code directly. This in turn caused a crashdump in rebar3
itself.
This patch handles the unexpected cases by:
a) not trying to format them
b) converting them to an error whenever they happen
The execution flow is still interrupted, but we should fail with a
clearer error than a crashdump.
|
|
|
|
|
|
| |
The order of the files listed in "erl_files_first" option is
important and should not be sorted. By handling the merge
similarly to mib_files_first, the sort order is preserved.
|
|
|
|
|
|
| |
It can't even fetch packages from Hex anymore because of old SSL/TLS
libraries, and so it can't bootstrap anymore either. Plus R20 comes out
soon, and 5 major versions is quite enough.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This uses the very risky '$handle_undefined_function'/2 export from the
r3 and rebar_agent modules to allow meta-calls that can support plugins
and all other rebar3 extensions.
This is nasty but very tempting. Currently we only support:
- r3:do(Command)
- r3:do(Namespace, Command)
There is currently no way to pass arguments to the function such that we
can, for example, run cover analysis or tests on a subset of suites.
With the new abuse of '$handle_undefined_function'/2, we can detect the
unused commands (since they are not exported) and re-route them:
- r3:Command()
- r3:Command("--args=as a string")
- r3:Command(Namespace, "--args=as a string")
Of course, in doing so, we make it impossible to use the 'do' provider
(as in 'rebar3 do ct -c, cover') since the 'do' function is already
required for things to work.
Since the previous function had very strict guards, we can, without
conflict, add manual overrides that simulate the meta-calls fine.
Sample run:
https://gist.github.com/ferd/2c06d59c7083c146d25e4ee301de0073
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- [OSX tests added to CI](https://github.com/erlang/rebar3/pull/1471),
joining linux and windows 10
- [upgrade relx to 3.22.3](https://github.com/erlang/rebar3/pull/1518),
[fixing multiple
issues](https://github.com/erlware/relx/releases/tag/v3.22.3)
- [Fixing eunit errors in 19.3 when `init_per_*` isn't paired with
`end_per_*`](https://github.com/erlang/rebar3/pull/1516)
- [Allow single test spec in
ct_opts](https://github.com/erlang/rebar3/pull/1506)
- [Properly warn when missing inets at
runtime](https://github.com/erlang/rebar3/pull/1505)
- [rebar_utils:escape_chars handles quotes in
paths](https://github.com/erlang/rebar3/pull/1504)
- [Fix typo in help text for upgrade
command](https://github.com/erlang/rebar3/pull/1503)
- [change package version warnings to debug
level](https://github.com/erlang/rebar3/pull/1502)
- [Path-type sensitive .cmd creation for
escripts](https://github.com/erlang/rebar3/pull/1500)
- [Windows escripts get cmd
autogenerated](https://github.com/erlang/rebar3/pull/1494)
- [REBAR_CONFIG impacts config file for project root
only](https://github.com/erlang/rebar3/pull/1497)
- [Fix wildcard usage in rebar3
clean](https://github.com/erlang/rebar3/pull/1498)
- [Bump cth_readable to
1.2.4](https://github.com/erlang/rebar3/pull/1496) (fixing some
erroneous reports when suites get skipped)
- [Add respect for src_dirs option in app_discover and
app_info](https://github.com/erlang/rebar3/pull/1486)
- [Add support for global plugin-defined
templates](https://github.com/erlang/rebar3/pull/1473)
- [catch badarg exception from eunit in
`rebar_prv_eunit`](https://github.com/erlang/rebar3/pull/1472)
|
| |
|
| |
|
|
|
|
|
|
| |
The option {spec,Specs} is allowed in ct_opts, but
rebar_prv_common_test:test_dirs did not take into account that Specs
could also be a string only, i.e. not a list of strings.
|
| |
|
|
|
|
|
| |
rebar_file_utils:cp_r uses rebar_utils:escape_chars to ensure that the file names are safe to use, but it doesn't escape double and single quotes. If the file name includes those characters, they disappear when the shell processes them and we get "file not found" errors.
The main culprit here is eunit, that creates reports whose names are `TEST-file_"myfile.app".xml`, and I wish it didn't but I think escape_chars should still do its job all the way.
|
| |
|
| |
|
| |
|
|\
| |
| | |
Windows escripts get cmd autogenerated
|
| | |
|
|\ \
| | |
| | | |
More fixes for bad calls to find_apps
|
| | | |
|
|\ \ \
| |/ /
|/| | |
REBAR_CONFIG impacts file project root only
|
| | | |
|
|/ /
| |
| |
| |
| | |
The wildcard usage could fail on some OSes by being passed directly and
just not finding libs and erroring out
|
| |
| |
| |
| |
| |
| |
| | |
The finding of the file was done based on an assumed 'src' path which
may not be correct. This patch instead replaces the value with a lookup
in configured paths and returns the first that matches to an existing
file.
|
| |
| |
| |
| |
| | |
First find the rebar.config file, and if any data is found, check for
src_dirs config. If nothing is there or no app is found, default to src/
|
| | |
|
| |
| |
| |
| | |
This makes rebar_prv_install_deps able to support more src_dir configs
|
|/
|
|
|
| |
This lets people who use custom directories layout without leaving the
.app.src in src/ to still see their app build.
|
|\
| |
| | |
Add support for global plugin-defined templates
|
| |
| |
| |
| |
| | |
Did not really know how to automate the testing for this, did it by
hand.
|
|/
|
|
| |
fixes #1469
|
| |
|
| |
|
| |
|
|\
| |
| | |
Allow exclusion of apps in cover
|
| |
| |
| |
| |
| | |
Adds a new option `{cover_excl_apps, Apps}` to exclude apps from coverage
analysis by name.
|
| |
| |
| |
| |
| |
| | |
on 19.x forward the compiler should now take into consideration the value
of the environment variable `ERL_COMPILER_OPTIONS` when deciding whether
or not to recompile a module
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Instead of a hard crash, display an error message indicating which app
failed.
We can't report the exact failure; only EDoc does it to stdout itself
and we can't capture it.
Pre/Post hooks are run properly despite the failure, as per escript and
compile providers.
|
|\ \
| | |
| | | |
See template local install same builtin as escript
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
When the `new` command is run from a locally installed rebar3 (`rebar3
local install`), the builtin templates would be labelled as custom
because of directories.
This patch fixes it by splitting off the rebar3 priv dir from the user's
configured plugin path for custom ones, and introducing a new internal
label for builtins (since handling must remain different from escripts)
This fixes issue #819
|
| | |
| | |
| | |
| | | |
and clean up a bit
|
| |/
|/|
| |
| |
| |
| |
| | |
Requires changing a bunch of arguments for xerocopy since it
does not allow to rename while copying.
Lots of tests added
|
| |
| |
| |
| |
| |
| |
| |
| | |
Fixes issue #880
May break backwards compat with projects that manually called the
dialyzer formatter, but we never documented or expected this to be
exposed.
|
|/
|
|
|
|
|
|
| |
This allows to reuse the code for any provider that formats source files
out to the user.
The option to configure it does remain compiler-centric for backwards
compatibility
|
| |
|
| |
|
| |
|
|\
| |
| | |
Type specifications and edocs improvements
|
| | |
|