summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge pull request #2032 from fenollp/p-hexFred Hebert2019-05-064-20/+29
|\ \ | |/ |/| format hex packages in a nice/human way
| * maybe a bit too exhaustive pattern matching to pass testsPierre Fenoll2019-05-062-8/+14
| | | | | | | | Signed-off-by: Pierre Fenoll <pierrefenoll@gmail.com>
| * format hex packages in a nice/human wayPierre Fenoll2019-05-062-12/+15
|/ | | | Signed-off-by: Pierre Fenoll <pierrefenoll@gmail.com>
* Merge pull request #2054 from tolbrino/fix-parallel-edoc-testFred Hebert2019-04-1814-25/+26
|\ | | | | Fix duplicate module naming in edoc test suite data
| * Fix duplicate module naming in edoc test suite dataTino Breddin2019-04-1614-25/+26
| |
* | Merge pull request #2035 from ankhers/lint_app_fileFred Hebert2019-04-162-2/+49
|\ \ | |/ |/| Add basic linting for .app file
| * An empty list on applications key should not be treated as missingJustin Wood2019-04-161-2/+2
| |
| * Remove debuggingJustin Wood2019-04-161-2/+0
| |
| * Change wording in application linting to be more clearJustin Wood2019-04-161-1/+1
| |
| * test for app file lintingJustin Wood2019-04-041-2/+20
| |
| * Add basic linting for .app fileJustin Wood2019-03-191-0/+31
| | | | | | | | | | This currently just checks for the existence of the description and applications keys and that the applications list has kernel and stdlib in it.
* | Back to git-based versioningTristan Sloughter2019-04-161-1/+1
| |
* | Bump to 3.10.0Tristan Sloughter2019-04-162-2/+2
| |
* | Merge pull request #2052 from tsloughter/cirrus-ciTristan Sloughter2019-04-151-0/+28
|\ \ | | | | | | add cirrus ci config to test against linux, osx and windows
| * | add cirrus ci config to test against linux, osx and windowsTristan Sloughter2019-04-131-0/+28
| | |
* | | Merge pull request #2053 from tsloughter/relx-3.31.0Fred Hebert2019-04-142-3/+3
|\ \ \ | |/ / |/| | upgrade relx 3.31.0
| * | upgrade relx 3.31.0Tristan Sloughter2019-04-142-3/+3
|/ /
* | Merge pull request #2043 from ferd/update-depsFred Hebert2019-04-132-9/+9
|\ \ | | | | | | Update certifi, ssl_verify_fun, bbmustache
| * | Update certifi, ssl_verify_fun, bbmustacheFred Hebert2019-04-132-9/+9
|/ /
* | Merge pull request #2051 from tsloughter/up-relx-3.30.0Fred Hebert2019-04-122-3/+3
|\ \ | | | | | | upgrade relx to 3.30.0
| * | upgrad relx to 3.30.0Tristan Sloughter2019-04-122-3/+3
|/ /
* | Merge pull request #2049 from tsloughter/dialyzer-cliFred Hebert2019-04-062-26/+66
|\ \ | | | | | | support dialyzer plt location and prefix in cli args
| * | support dialyzer plt location and prefix in cli argsTristan Sloughter2019-04-062-26/+66
|/ /
* | Merge pull request #2048 from jkakar/jkakar/quieter-test-outputFred Hebert2019-04-051-5/+25
|\ \ | | | | | | rebar3 eunit: Hide slowest tests profile output by default
| * | rebar_prv_eunit: Hide slowest tests profile output by defaultJamu Kakar2019-04-041-5/+25
| | |
* | | Merge pull request #2040 from ferd/max-au-rebar_compiler_parallelFred Hebert2019-04-042-5/+74
|\ \ \ | | | | | | | | Enable parallel build
| * | | Fix Parallel CompilationFred Hebert2019-03-292-5/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch does two things: 1. it broadens the interface for the compiler module so that non-first-file modules can possibly be parallelized. This is done by dynamically switching on `[ListOfFiles]`, which remains sequential as before, or `{[SeqPriority], [Parallel]}`, which divides regular files between higher priority ones and those that can be in parallel 2. implements this mechanism in the rebar compiler, based on the erl file digraph. If a file has an in-neighbour, it is depended on by another file. The mechanism therefore makes it so all files that have dependants get compiled in their strict relative sequential order first, and then the undepended-on files get compiled together in parallel. By running: ./rebar3 ct --suite test/rebar_compile_SUITE.erl --case \ recompile_when_parse_transform_inline_changes --repeat 50 the previous iteration of this would rapidly fail, and this one succeeds every time.
| * | | Enable parallel buildMaxim Fedorov2019-03-281-1/+55
| | | | | | | | | | | | | | | | | | | | Support for parallel compilation of *.erl file was dropped before 3.0 release. However, our tests for a project containing ~500 source files show substantial gain, lowering compilation time from 58 seconds to 18 on a MacBook Pro 15" (4 cores, 8 threads), and to just 10 seconds on Xeon-D machine.
* | | | Merge pull request #2045 from filmor/non-fatal-package-idx-writeFred Hebert2019-04-041-1/+5
|\ \ \ \ | | | | | | | | | | Catch errors in writing the package cache
| * | | | Catch errors in writing the package cacheBenedikt Reinartz2019-04-041-1/+5
|/ / / /
* | | | Merge pull request #2037 from Kuroneer/kuroneer/fix-deps-commandFred Hebert2019-04-033-80/+177
|\ \ \ \ | |_|/ / |/| | | Fix rebar3 deps command
| * | | Use maps syntax for OTP 17 in deps cmdJose M Perez2019-04-021-2/+2
| | | |
| * | | Refactor deps command to show lock vs config fileJose M Perez2019-04-013-40/+137
| | | | | | | | | | | | | | | | | | | | | | | | Deps command shows an * if the local state of the dependencies do not match the config file, highlighting the differences between the lock file and the config file if there are any.
| * | | Make deps command check needs_update for every depJose M Perez2019-03-272-73/+73
| |/ / | | | | | | | | | | | | deps command was printing an * even when deps were updated, this commit makes it call rebar_fetch:needs_update/2 for each of them
* | | Merge pull request #2036 from ferd/shell-support-cfg-srcFred Hebert2019-03-294-30/+119
|\ \ \ | |/ / |/| | Attempt at support sys_config_src in shell
| * | Attempt at support sys_config_src in shellFred Hebert2019-03-224-30/+119
|/ /
* | Merge pull request #2027 from tolbrino/tb-fix-escriptize-hooksFred Hebert2019-03-221-8/+14
|\ \ | |/ |/| Fix provider hook handling for escriptize
| * Handle incorret app info in escriptizeTino Breddin2019-03-221-5/+10
| |
| * Fix provider hook handling for escriptizeTino Breddin2019-03-221-7/+8
|/ | | | | | | | Previously all escriptize hooks from all apps in the project were executed, which could lead to issue in case of dependencies on artifacts which are created by these hooks. Now the behaviour is similar to the handling of other non-global hooks.
* Merge pull request #2034 from pbober/remove-ignored-fileFred Hebert2019-03-181-678/+0
|\ | | | | Remove ignored hex_core artifact from repo
| * Remove ignored hex_core artifact from repoPiotr Bober2019-03-181-678/+0
|/
* Merge pull request #2031 from ferd/fix-transient-upgrade-locksFred Hebert2019-03-182-4/+71
|\ | | | | Fix handling of transient locks during upgrade
| * Fix handling of transient locks during upgradeFred Hebert2019-03-152-4/+71
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We currently have a problem in the handling of locks in the `upgrade <app>` command when a transitive dependency switches supervision trees. If we start with: A / \ B1 C | D | E And upgrade to: A / \ B2 C | | E D by calling `rebar3 upgrade b`, we would expect the ugprade command to do so directly. However we are currently left with the following lock file: A / \ B2 C | D | E This is _not_ critical since on the next run, the lock file is fixed automatically through an install-deps sequence. However, this is a jarring state in which to leave a project. The reason is that we proceed the following way to handle an upgrade: 1. pick the name of the chosen app, and unlock it if it's at the level 0 2. grab a list of all its current children (and their own) and unlock them 3. do the same for all the other unlocked dependencies 4. pass this new lock internal format to the get-deps provider in upgrade mode 5. take the result and save it to the lock file. What's interesting is that right now this yields invalid locks at step 3, because we have removed the lock on B1, but not on E (which we don't yet know is going to be a new child of the next B version until we fetch it) In step 4, we fetch dependencies, and in there we compare the pre-upgrade locks and fetch structure with those expected in the current lock state, and rebuild everything. The fix in this commit adds a check there where if the app is in the current lock set at a level deeper than the current one, the lock is forced to be refreshed as if it were not there. This lock would get refreshed on a blank run anyway since the current lock set would start empty (rather than pre-populated by `upgrade`), and the level-order traversal ensures that the locks remain safe in all cases. Fixes #2030
* Back to git-based versioningFred Hebert2019-03-141-1/+1
|
* Bump to 3.9.1Fred Hebert2019-03-142-2/+2
|
* Merge pull request #2028 from tsloughter/relx-3.29.0Fred Hebert2019-03-132-3/+3
|\ | | | | upgrade relx 3.29.0
| * upgrade relx 3.29.0Tristan Sloughter2019-03-132-3/+3
|/
* Fix fetching of private packages from orgs on hex repos (#2020)Bryan Paxton2019-03-0737-40/+8536
| | | | | | | | | | | | | - vendor in hex_core at v0.5.0 - Change where repo_name should be the org and not the parent - Changed rebar_utils:url_append_path/2 to not explicitly add a '?', this is returned in the Query chunk by http_uri:parse/1 (e.g., "?foo=bar") - update organization_merging test to expect the sub-repo as the repo_name - Add tests for rebar_utils:url_append_path/2 - Stop referencing/setting "organization" in config and use new organization settings (api_repository and repo_organization) - Do not set (assume) the read key is valid for any/every repo - Set repo_organization and api_repository to org - Update tests to check for new config opts
* Merge pull request #2022 from starbelly/abort-on-auth-config-syntax-errorFred Hebert2019-02-202-5/+52
|\ | | | | Abort when file:consult/1 returns an error in rebar3_hex_repos:auth_config/1
| * Abort when file:consult/1 returns an errorBryan Paxton2019-02-202-5/+52
|/ | | | | | - Modified rebar_hex_repos:auth_config/1 to abort on error except in the case of enoent, in which we return an empty map. - added auth_config_errors test to test/rebar_pkg_repos_SUITE