summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix various Dialyzer warningsFred Hebert2018-04-204-11/+5
| | | | | | | | | 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.
* Merge branch '1743_specs' of https://github.com/tothlac/rebar3 into ↵Fred Hebert2018-04-201-64/+250
|\ | | | | | | tothlac-1743_specs
| * (#1743): Refactor rebar_pkg_resource, add documentationLaszlo Toth2018-04-121-81/+152
| |
| * (#1743): Add specs for dialyzerLaszlo Toth2018-04-111-3/+118
| |
* | Merge pull request #1756 from ferd/handle-schemeless-proxyFred Hebert2018-04-201-1/+9
|\ \ | | | | | | Handle Schema-less Proxy URLs in ENV vars
| * | Handle Schemaless Proxy URLs in ENV varsFred Hebert2018-04-201-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | Do not die on a pkg etag cache write failFred Hebert2018-04-201-1/+1
| |/ |/| | | | | We can probably still move ahead without a cache if we must
* | (#1743): store the etags in cache filesLaszlo Toth2018-04-111-10/+26
|/
* (#1741): Fix quotes in etag valuestothlac2018-04-091-1/+2
|
* Remove noisy debug messageFred Hebert2018-03-301-2/+0
| | | | | It makes things worse than if it weren't there. Fixes issue #1726
* Merge pull request #1716 from fenollp/sort-asFred Hebert2018-03-301-0/+3
|\ | | | | sort-as: force an order on multiple profiles
| * sort-as: a more general patternPierre Fenoll2018-03-021-2/+2
| |
| * do not append test profile if already there. Note that it comes from the prv ↵Pierre Fenoll2018-03-021-0/+3
| | | | | | | | list passed to providers:create/1
| * Revert "sort-as: found the issue. Will look into tests now"Pierre Fenoll2018-03-021-5/+4
| | | | | | | | This reverts commit 0f7e6c31e97c238649e7ae0a1b7087e342174ecc.
| * Revert "sort-as: show issue more clearly"Pierre Fenoll2018-03-021-4/+0
| | | | | | | | This reverts commit 4ad1db97336a3ac070880876ada07d4c7b769327.
| * sort-as: show issue more clearlyPierre Fenoll2018-03-021-0/+4
| |
| * sort-as: found the issue. Will look into tests nowPierre Fenoll2018-03-021-4/+5
| |
| * Revert "sort-as: force an order on multiple profiles"Pierre Fenoll2018-03-021-1/+1
| | | | | | | | This reverts commit 3f8dd5eacebb913144f3615fdf44658b6223a791.
| * sort-as: force an order on multiple profilesPierre Fenoll2018-03-021-1/+1
| |
* | remove the .app from app_infoJean Bouchard2018-03-161-3/+4
|/
* use debug level for logs about bad package versioningTristan Sloughter2018-02-271-7/+7
|
* don't attempt retry of missing packages when updating indexTristan Sloughter2018-02-272-1/+2
|
* Merge pull request #1706 from campanja-forks/env-for-providersFred Hebert2018-02-273-75/+91
|\ | | | | Env for providers
| * make it easier to create envCarl-Johan Kjellander2018-02-261-1/+8
| |
| * remove whitespaceCarl-Johan Kjellander2018-02-231-1/+0
| |
| * move and export create_env for use by providersCarl-Johan Kjellander2018-02-232-57/+67
| |
| * export env expansionCarl-Johan Kjellander2018-02-231-18/+18
| |
* | rebar_package: do not return first package version for constraint with no matchTristan Sloughter2018-02-261-5/+10
|/
* Merge pull request #1718 from shino/bugfix/io-opts-unicodeFred Hebert2018-02-212-3/+2
|\ | | | | Set unicode option for standard_io at entry point
| * Set unicode option for starndard_io at entry pointShunichi Shinohara2018-02-222-3/+2
| |
* | Merge pull request #1698 from campanja-forks/run-clean-hooksFred Hebert2018-02-212-4/+9
|\ \ | |/ |/| fix hooks and plugins usage when cleaning build artifacts for deps
| * run hooks and plugins during clean for depsCarl-Johan Kjellander2018-01-192-4/+9
| | | | | | | | | | | | 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.
* | Issue #1704: Fix alias provider argument passingTobias Schlager2018-01-241-23/+46
|/ | | | | | | | | | | | 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-221-1/+1
|
* Fix escriptize failure when ebin/ has subdirsFred Hebert2017-12-141-1/+2
| | | | | | | | | | | 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
* Safer purge switchFred Hebert2017-12-062-6/+8
| | | | | | | | | 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-052-2/+6
| | | | Prevents the killing of a plugin with itself
* Alias plugin promoted to built-in commandFred Hebert2017-12-053-2/+105
| | | | | | | | | | - 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-041-3/+5
|\ \ | | | | | | Fix Plugin path handling (again!)
| * | Fix Plugin path handling (again!)Fred Hebert2017-12-041-3/+5
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-041-13/+44
|\ \ | | | | | | Support minimal coverage validation in tests
| * | Support minimal coverage validation in testsFred Hebert2017-12-021-13/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 nameTristan Sloughter2017-12-043-6/+16
| |/ |/|
* | fix code path when validating pluginsTristan Sloughter2017-12-031-1/+1
| |
* | [#1675] Disable color in git log commandJuan Facorro2017-11-291-1/+1
|/
* 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.
* Revert "Add experimental support for ct --retry option"Fred Hebert2017-11-242-184/+5
|