| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|\ \
| |/
|/| |
Issue #1704: Fix alias provider argument passing
|
|/
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|\
| |
| | |
Corrected Erlang Solutions Download URL [skip ci]
|
|/
|
| |
Current URL goes to 404 page, corrected URL to avoid confusion.
|
|\
| |
| | |
Fix repeated bootstrap runs
|
| |
| |
| |
| |
| |
| |
| |
| | |
Updating the bootstrap script in #1689 made it so symlinks that already
exist return `exist` rather than ok, in line with the regular code.
However the bootstrap module wouldn't handle this case.
This fixes the problem by ensuring that `exists` is as valid as `ok`.
|
|\ \
| |/
|/| |
Fix escriptize failure when ebin/ has subdirs
|
|/
|
|
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
Update bootstrap script // fix windows issues
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The bootstrap script has been mostly unchanged for a long period of
time, and has not benefited from all the changes and improvements that
rebar3 itself had, including (but not limited to) path escaping,
handling of directories on windows, and edge case management when it
comes to file and symlink handling.
This patch brings the updates seen in rebar_string_utils, rebar_utils,
and rebar_dir into the bootstrap script so that fewer people have build
issues when starting from source, from scratch.
|
|\ \
| |/
|/| |
Update manpages
|
|/
|
|
| |
New switches for cover, adding the alias provider, etc.
|
|\
| |
| | |
Prevent plugin unloading from killing currently running command (soft-purge in-compile)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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
|
|\
| |
| | |
Alias plugin promoted to built-in command
|
|/
|
|
|
|
|
|
|
|
| |
- 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.
|
|\ \ \
| |_|/
|/| | |
add eunit and ct option to set coverdata file name
|
|/ / |
|
|\ \
| | |
| | | |
fix code path when validating plugins
|
|/ / |
|
|\ \
| |/
|/| |
[Closes #1675] Disable color in git log command
|
|/ |
|
|\
| |
| | |
Add experimental support for ct --retry option
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
Revert "Add experimental support for ct --retry option"
|
|/ |
|
|\
| |
| | |
Add experimental support for ct --retry option
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|\
| |
| | |
Bump cth_readable to 1.3.2
|
| |
| |
| |
| | |
Eliminates a lager warning due to config format deprecation
|
|\ \
| | |
| | | |
Fix compilation for custom resources dynamic vsn
|
|/ /
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The Erlang compiler runs based on a global state built from currently
loaded libraries and the configured code path that is available. For
this reason, the rebar3 compiler job unloads all plugin paths before
calling the Erlang compiler.
However, this causes a problem when an application uses a custom
resource handler with a dynamic version in their .app.src file since the
plugin that can be used to find the version has been unloaded.
Fortunately, the compile phase that runs the version handling is
distinct from the phase that uses the Erlang compiler. This patch fixes
the problem by re-loading the plugins' paths in memory before generating
the .app file, and before unloading them afterwards.
It appears that unloading them is unnecessary because the hooks after
that will re-load them, but it is likely better to play it safe with
that global state and clean up after ourselves. It offers better
protection for future changes.
Fixes #1657
|
|\ \
| | |
| | | |
Fix broken tests
|
| | | |
|
| |\ \
|/ / /
| | |
| | | |
into lrascao-profile_dep_countertest
|
| | | |
|
|\ \ \
| | | |
| | | | |
upgrade relx to 3.24.3
|
|/ / / |
|
|\ \ \
| | | |
| | | | |
Make debug_info rules clear
|