summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #1707 from schlagert/issue_1704Fred Hebert2018-01-302-24/+72
|\ \ | |/ |/| Issue #1704: Fix alias provider argument passing
| * Issue #1704: Fix alias provider argument passingTobias Schlager2018-01-242-24/+72
|/ | | | | | | | | | | | 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.
* Back to git-based versioningFred Hebert2017-12-221-1/+1
|
* Bump to 3.5.0Fred Hebert2017-12-222-2/+2
|
* Merge pull request #1696 from ajm113/patch-1Fred Hebert2017-12-161-1/+1
|\ | | | | Corrected Erlang Solutions Download URL [skip ci]
| * Corrected Erlang Solutions Download URLAndrew Mcrobb2017-12-161-1/+1
|/ | | Current URL goes to 404 page, corrected URL to avoid confusion.
* Merge pull request #1692 from ferd/fix-bootstrap-repeatFred Hebert2017-12-151-3/+4
|\ | | | | Fix repeated bootstrap runs
| * Fix repeated bootstrap runsFred Hebert2017-12-131-3/+4
| | | | | | | | | | | | | | | | 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`.
* | Merge pull request #1694 from ferd/escript-with-ebin-subdirFred Hebert2017-12-152-3/+27
|\ \ | |/ |/| Fix escriptize failure when ebin/ has subdirs
| * Fix escriptize failure when ebin/ has subdirsFred Hebert2017-12-142-3/+27
|/ | | | | | | | | | | 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
* Merge pull request #1689 from ferd/update-bootstrapFred Hebert2017-12-081-28/+265
|\ | | | | Update bootstrap script // fix windows issues
| * Update bootstrap script // fix windows issuesFred Hebert2017-12-081-28/+265
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1688 from ferd/update-manpagesFred Hebert2017-12-081-3/+13
|\ \ | |/ |/| Update manpages
| * Update manpagesFred Hebert2017-12-061-3/+13
|/ | | | New switches for cover, adding the alias provider, etc.
* Merge pull request #1686 from ferd/global-plugin-path-fixFred Hebert2017-12-067-2/+94
|\ | | | | Prevent plugin unloading from killing currently running command (soft-purge in-compile)
| * Safer purge switchFred Hebert2017-12-063-6/+9
| | | | | | | | | | | | | | | | | | 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.
| * Run a soft purge while within the compiler stepFred Hebert2017-12-058-3/+92
|/ | | | Prevents the killing of a plugin with itself
* Merge pull request #1685 from ferd/promote-aliasFred Hebert2017-12-058-5/+271
|\ | | | | Alias plugin promoted to built-in command
| * Alias plugin promoted to built-in commandFred Hebert2017-12-058-5/+271
|/ | | | | | | | | | - 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
* Merge pull request #1682 from ferd/win7-file-supportFred Hebert2017-12-041-2/+2
|\ | | | | Fix file handling on Windows 7
| * Drop the /is switch to robocopy for win7Fred Hebert2017-12-041-2/+2
| | | | | | | | Has no ill effect as tested on Win10
* | Merge pull request #1681 from ferd/fix-plugin-paths-againFred Hebert2017-12-044-3/+107
|\ \ | | | | | | Fix Plugin path handling (again!)
| * | Fix Plugin path handling (again!)Fred Hebert2017-12-044-3/+107
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | Merge pull request #1679 from ferd/min-coverageFred Hebert2017-12-042-15/+92
|\ \ | | | | | | Support minimal coverage validation in tests
| * | Support minimal coverage validation in testsFred Hebert2017-12-022-15/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge pull request #1684 from tsloughter/cover-exportFred Hebert2017-12-045-7/+59
|\ \ \ | |_|/ |/| | add eunit and ct option to set coverdata file name
| * | add eunit and ct option to set coverdata file nameTristan Sloughter2017-12-045-7/+59
|/ /
* | Merge pull request #1678 from tsloughter/fix-plugin-pathFred Hebert2017-12-033-7/+32
|\ \ | | | | | | fix code path when validating plugins
| * | fix code path when validating pluginsTristan Sloughter2017-12-033-7/+32
|/ /
* | Merge pull request #1676 from jfacorro/1675.disable.color.git.logFred Hebert2017-11-291-1/+1
|\ \ | |/ |/| [Closes #1675] Disable color in git log command
| * [#1675] Disable color in git log commandJuan Facorro2017-11-291-1/+1
|/
* Merge pull request #1672 from ferd/ct-retry-reduxFred Hebert2017-11-242-4/+178
|\ | | | | Add experimental support for ct --retry option
| * Add experimental support for ct --retry optionFred Hebert2017-11-242-4/+178
|/ | | | | | | | | | | | | | | | | 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.
* Merge pull request #1671 from erlang/revert-1670-ct-retryFred Hebert2017-11-242-184/+5
|\ | | | | Revert "Add experimental support for ct --retry option"
| * Revert "Add experimental support for ct --retry option"Fred Hebert2017-11-242-184/+5
|/
* Merge pull request #1670 from ferd/ct-retryFred Hebert2017-11-232-5/+184
|\ | | | | Add experimental support for ct --retry option
| * Add experimental support for ct --retry optionFred Hebert2017-11-232-5/+184
|/ | | | | | | | | | | | | | | | | 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.
* Back to git-based versioningFred Hebert2017-11-221-1/+1
|
* Bump to 3.4.7Fred Hebert2017-11-223-3/+3
|
* Merge pull request #1665 from ferd/bump-cth_readable-1.3.2Fred Hebert2017-11-222-3/+3
|\ | | | | Bump cth_readable to 1.3.2
| * Bump cth_readable to 1.3.2Fred Hebert2017-11-202-3/+3
| | | | | | | | Eliminates a lager warning due to config format deprecation
* | Merge pull request #1668 from ferd/fix-make_vsn-custom-resourcesFred Hebert2017-11-221-1/+12
|\ \ | | | | | | Fix compilation for custom resources dynamic vsn
| * | Fix compilation for custom resources dynamic vsnFred Hebert2017-11-221-1/+12
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Merge pull request #1667 from ferd/lrascao-profile_dep_countertestFred Hebert2017-11-211-1/+18
|\ \ | | | | | | Fix broken tests
| * | Fix test mocking for profile overridesFred Hebert2017-11-211-2/+4
| | |
| * | Merge branch 'profile_dep_countertest' of https://github.com/lrascao/rebar3 ↵Fred Hebert2017-11-211-0/+15
| |\ \ |/ / / | | | | | | into lrascao-profile_dep_countertest
| * | Profile deps counter testLuis Rascao2017-10-161-0/+15
| | |
* | | Merge pull request #1666 from tsloughter/relx-3.24.3Fred Hebert2017-11-212-3/+3
|\ \ \ | | | | | | | | upgrade relx to 3.24.3
| * | | upgrade relx to 3.24.3Tristan Sloughter2017-11-212-3/+3
|/ / /
* | | Merge pull request #1656 from ferd/unconfuse-debug_infoFred Hebert2017-11-212-6/+60
|\ \ \ | | | | | | | | Make debug_info rules clear