| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
Some still remain from erl_type calls from Dialyzer, but most of them
are handled.
Decided to just ignore rebar_alias since playing with the type specs of
abstract code format is just a nightmare and hard to do cross-versions I
guess.
|
|\
| |
| |
| | |
tothlac-1743_specs
|
| | |
|
| | |
|
|\ \
| | |
| | | |
Handle Schema-less Proxy URLs in ENV vars
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
We've had multiple tickets opened because of unclear PROXY settings when
the scheme is missing form the URI. To be helpful, we instead add them
dynamically whenever they're missing.
Example issues:
- https://github.com/erlang/rebar3/issues/1747
- https://github.com/erlang/rebar3/issues/1697
|
| |/
|/|
| |
| | |
We can probably still move ahead without a cache if we must
|
|/ |
|
| |
|
|
|
|
|
| |
It makes things worse than if it weren't there.
Fixes issue #1726
|
|\
| |
| | |
sort-as: force an order on multiple profiles
|
| | |
|
| |
| |
| |
| | |
list passed to providers:create/1
|
| |
| |
| |
| | |
This reverts commit 0f7e6c31e97c238649e7ae0a1b7087e342174ecc.
|
| |
| |
| |
| | |
This reverts commit 4ad1db97336a3ac070880876ada07d4c7b769327.
|
| | |
|
| | |
|
| |
| |
| |
| | |
This reverts commit 3f8dd5eacebb913144f3615fdf44658b6223a791.
|
| | |
|
|/ |
|
| |
|
| |
|
|\
| |
| | |
Env for providers
|
| | |
|
| | |
|
| | |
|
| | |
|
|/ |
|
|\
| |
| | |
Set unicode option for standard_io at entry point
|
| | |
|
|\ \
| |/
|/| |
fix hooks and plugins usage when cleaning build artifacts for deps
|
| |
| |
| |
| |
| |
| | |
find_apps didn't read config files so no hooks were in the app_infos,
and now that hooks are being done rebar needs plugins to be able
to run clean plugin hooks in deps.
|
|/
|
|
|
|
|
|
|
|
|
|
| |
The way arguments are passed by the alias provider is not compatible
with all rebar providers/commands. Especially the release (relx)
provider does not like getting its arguments as a plain string. It
expects its arguments in a pre-parsed format as returned by
getopt:parse/2.
Other commands, e.g. eunit, seem to be fine with both ways of argument
passing. Therefore, this fix changes the alias provider argument passing
to the getopt format in general.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Although fairly irregular, the presence of a subdirectory in ebin/ while
running rebar3 escriptize would crash the run and generate a dump.
Since ebin subdirectories are generally not supported (adding a path for
an application only adds ebin/ and no subdirectories to the VM's path
set), we just silently ignore the directory altogether.
Fixes #1693
|
|
|
|
|
|
|
|
|
| |
Rather than the caller having to think of what to purge or not, use
erlang:check_process_code/2 to detect if the caller (rebar3) may die
because of the operation.
If so, do a soft purge with a conditional delete instead of a hard purge
with a mandatory delete.
|
|
|
|
| |
Prevents the killing of a plugin with itself
|
|
|
|
|
|
|
|
|
|
| |
- Uses the code at https://github.com/tsloughter/rebar_alias and brings
it within rebar3
- adds safety checks to prevent redefining built-in commands or obvious
circular dependencies between commands (indirect circular deps are
still possible)
- adds tests
- adds a systest to ensure no clash with the existing plugin
|
|\
| |
| | |
Fix file handling on Windows 7
|
| |
| |
| |
| | |
Has no ill effect as tested on Win10
|
|\ \
| | |
| | | |
Fix Plugin path handling (again!)
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The path reloading of plugins had been fixed properly, but the problem
is that the paths it was using to re-load only considered the current
compile step, rather than the overall state of plugins. As such, the
reloaded paths after plugin compilation only reloaded the *latest*
plugin and not the other ones.
This fix forces the addition of all built plugin paths to the code paths
after a plugin compile job is run. This ensures that the path is clean
for initial plugin deps (only add those that are required), and is
re-made total after the fact (add all the plugins possible).
This commit also includes a system tests suite that can be run
optionally; the problem with this plugin mechanism was impossible to
find through mocked dependencies, and a working counterexample was
provided to us. The systest suite can be run against real projects
without conflict to make sure no regressions are hit.
|
|\ \
| | |
| | | |
Support minimal coverage validation in tests
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Adds an option (-m, --min_coverage, or {cover_opts, {min_coverage,X}})
to the 'cover' command, where the value is an integer between 0 and 100.
If the total coverage during the analysis is below the value received,
the command will fail with output like:
===> Requiring 64% coverage to pass. Only 62% obtained
If the rate is correct, the command silently passes as it currently
does.
This feature allows to enforce code coverage standards in a project if
desired.
|
| |/
|/| |
|
| | |
|
|/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds a common test hook along with the cth_readable stuff
whose role is to track failing test cases, and create a test
specification out of them.
The test specification is dumped on disk at
_build/<profile>/logs/retry.spec and can be accessed by calling
'rebar3 ct --retry'. This will auto-load the spec file if it can be
found and re-run the failing cases.
If any other argument is found on the list specifying tests, the
'--retry' argument is ignored.
All code for this is marked as experimental in case we end up (keeping
and then) dropping the feature.
|
| |
|