summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Fix broken windows buildFred Hebert2018-04-201-1/+1
| | | | Let's bundle this with another PR
* Display error when rebar.config.script failsFred Hebert2018-04-201-0/+2
| | | | | | | | | | This will at least display the script that failed with the stacktrace before failing as usual, but without altering the return value. This should make the common failure path more user-friendly without breaking any existing behaviour that may have relied on the script file working. If there's any unexpected side-effect, it will be visual only rather than blocking full builds if ?ABORT were used.
* 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
|/