summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Back to git-based versioningFred Hebert2018-05-031-1/+1
|
* bump to 3.5.1Fred Hebert2018-05-032-2/+2
|
* Merge pull request #1773 from ferd/otp-21-stacktrace-compatFred Hebert2018-05-0314-48/+61
|\ | | | | Work around OTP-21 deprecation of get_stacktrace() and other incompatible changes
| * Fix handling of loosely formatted OTP_VERSION fileFred Hebert2018-05-031-6/+5
| | | | | | | | see https://github.com/erlang/rebar3/issues/1774
| * Confirm lack of regressions on new logger in shellFred Hebert2018-05-031-9/+16
| |
| * Work around OTP-21 deprecation of get_stacktrace()Fred Hebert2018-05-0312-30/+37
| | | | | | | | Based off a macro by @okeuday at https://github.com/erlang/otp/pull/1783
| * Update erlware_commons for stacktraces supportFred Hebert2018-05-032-3/+3
|/
* Merge pull request #1770 from ferd/danikp-feature_long_src_pathsFred Hebert2018-04-273-3/+36
|\ | | | | ensure dest exists before copying to it and fix src_dirs symlinking
| * Fix symlink/copying logic in compiler for privFred Hebert2018-04-271-1/+10
| | | | | | | | | | Priv and include dirs need the virtual symlink in order to preserve hook functionality in some edge cases.
| * Merge branch 'danikp-feature_long_src_paths' of github.com:ferd/rebar3 into ↵Fred Hebert2018-04-272-4/+4
| |\ | | | | | | | | | danikp-feature_long_src_paths
| | * Prevent copying or symlink non-existing src_dirsFred Hebert2018-04-272-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This would cause crashes on linux and force people to have a src_dirs config that is strictly matching what is on the file system rather than acting as a specification of those that are valid. To compare, if lib_dirs worked the same, then any repo that did not both have apps/ and lib/ would crash, as the spec mentions both options as valid.
| | * Merge branch 'feature_long_src_paths' of https://github.com/danikp/rebar3 ↵Fred Hebert2018-04-272-2/+26
| | |\ | |/ / |/| | | | | into danikp-feature_long_src_paths
| * | Merge branch 'feature_long_src_paths' of https://github.com/danikp/rebar3 ↵Fred Hebert2018-04-272-2/+26
| |\ \ |/ / / | | _ | | into danikp-feature_long_src_paths
| * fix & testDmitry2018-04-232-4/+28
| |
| * ensure Dest exists before copying to itDmitry2018-04-221-2/+2
| |
* | Merge pull request #1769 from ferd/warn-on-read-only-cachedirFred Hebert2018-04-272-2/+16
|\ \ | | | | | | Display warnings when cache dirs are read-only
| * | Display warnings when cache dirs are read-onlyFred Hebert2018-04-272-2/+16
|/ / | | | | | | | | | | | | This should provide more help to users directly and avoid having them go through opening tickets for help. Fixes #1767
* | Merge pull request #1765 from ferd/clear-all-dialyzer-errorsFred Hebert2018-04-253-2/+13
|\ \ | | | | | | Clear all dialyzer errors
| * | Clear all dialyzer errorsFred Hebert2018-04-233-2/+13
|/ / | | | | | | | | - this is done by adding a HiPE dependency - also in this: adding a test for directories, and fixing some indent
* | Merge pull request #1764 from ferd/bump-cth_readableFred Hebert2018-04-222-3/+3
|\ \ | |/ |/| Bump cth_readable to 1.3.4: restore eunit macro formatter
| * Bump cth_readable to 1.3.4: restor eunit formatFred Hebert2018-04-222-3/+3
|/
* Merge pull request #1762 from ferd/reload-shell-apps-for-cfgFred Hebert2018-04-211-3/+28
|\ | | | | Reload apps running in shell with new config
| * Reload apps running in shell with new configFred Hebert2018-04-201-3/+28
| | | | | | | | | | | | | | This patch makes it so that whenever the rebar3 shell has a new configuration for an application that is already running and would be restarted (without risking the stability of the node or functionality of rebar_agent), we stop and restart the app.
* | Merge pull request #1761 from ferd/fix-local-upgrade-etagFred Hebert2018-04-211-1/+10
|\ \ | |/ |/| Fix local upgrade etag handling
| * Fix local upgrade etag handlingFred Hebert2018-04-211-1/+10
|/ | | | | | Since packages store etags on disk directly, the local install feature can no longer depend on this; we instead port the etag feature back to local providers only.
* Merge pull request #1759 from ferd/fix-erlopts-test-profileFred Hebert2018-04-202-1/+37
|\ | | | | Fix precedence rules of erl_opts for test profile
| * Fix precedence rules of erl_opts for test profileFred Hebert2018-04-202-1/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | When adding the 'TEST' macro to the test profile, we mistakenly sourced the erl_opts values from the base profile rather than the test profile itself. This means that in cases where the base profile set an option such as 'no_debug_info' and a profile overrode it with 'debug_info', the default options would get injected within the test profile, and broke the precedence rules, yielding incompatible values. This patch fixes things by adding the macro to the values sourced from the test profile itself, fixing the issue.
* | Merge pull request #1758 from ferd/display-script-errorsFred Hebert2018-04-202-1/+3
|\ \ | |/ |/| Display script errors
| * 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.
* Merge pull request #1757 from ferd/fix-dialyzer-warningsFred Hebert2018-04-206-13/+10
|\ | | | | Fix various Dialyzer warnings
| * Fix Travis buildsFred Hebert2018-04-201-1/+1
| |
| * Fix various Dialyzer warningsFred Hebert2018-04-205-12/+9
|/ | | | | | | | | 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 'tothlac-1743_specs'Fred Hebert2018-04-201-64/+250
|\
| * 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-202-7/+17
|\ \ | | | | | | Handle Schema-less Proxy URLs in ENV vars
| * | Add proxy auto-scheme testFred Hebert2018-04-201-6/+8
| | |
| * | 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
* | | Merge branch 'tothlac-1743'Fred Hebert2018-04-202-15/+38
|\ \ \ | |/ / |/| |
| * | 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
| * | Merge branch '1743' of https://github.com/tothlac/rebar3 into tothlac-1743Fred Hebert2018-04-202-15/+38
| |\ \ |/ / / | | _
| * (#1743): store the etags in cache filesLaszlo Toth2018-04-112-15/+38
| |
* | Merge pull request #1750 from ferd/rework-dialyzer-optionsFred Hebert2018-04-182-32/+23
|\ \ | |/ |/| Make rebar3 work with dialyzer internally
| * Make rebar3 work with dialyzer internallyFred Hebert2018-04-142-32/+23
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We got funny interactions since PR #1656: - the last `debug_info`-related option seen in a list of options after profile merge is kept, allowing later profiles from overtaking earlier ones - if you go `rebar3 as a,b,c compile`, the options from profile A come before B, which come before C, so C's options win - overrides are applied in order of profile as well, giving a priority to a later profile than an earlier one - The values in overrides are prepended rather than suffixed to the existing list - this means if we have to overrides adding options, such as `default` adding `no_debug_info', and `dialyze` adding `debug_info`, the results are `[debug_info]` as `dialyze` is applied first, and then `[no_debug_info, debug_info]` as `default` overrides are applied - the final result is `no_debug_info` always winning when erl_opts are overriden specifically. only `debug_info` options are going to suffer this, and in the context of overrides. Other `erl_opts` should be fine. I'm not sure how that can be fixed at all. In the meanwhile, we can add support back while leaving the default to not having debug information. This is done by: - moving all `no_debug_info` options to the `prod` profile - forcing `prod` to be called by `./bootstrap` so that most people keep getting no debug info - anyone calling `rebar3 clean -a` and then rebuilding with `rebar3 escriptize` (i.e. rebar3 devs) get debug info going This is up for review and discussion.
* Merge pull request #1742 from tothlac/masterFred Hebert2018-04-091-1/+2
|\ | | | | (#1741): Fix quotes in etag values
| * (#1741): Fix quotes in etag valuestothlac2018-04-091-1/+2
|/
* Merge pull request #1739 from erlang/bump-cthreadbleTristan Sloughter2018-04-032-3/+3
|\ | | | | Bump cth_readable to 1.3.3
| * Bump cth_readable to 1.3.3Fred Hebert2018-04-032-3/+3
|/ | | | Fixes some lager warnings since config changes