summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Dedup dep listRob Ashton2019-07-161-1/+1
|
* Fix reloading logger_levelJan Chochol2019-07-161-1/+1
| | | | | | | | | | OTP kernel application use "logger_level" configuration for configuring level in primary configuration. rebar3 uses "logger_info" for this purpose - ths is little bit confusing and probably mistake. This commit will unify behavior between kernel and rebar3o Fixes: 0303567d95f0 ("Reload logger config in shell")
* Merge pull request #2111 from jkakar/dialyzer-warn-without-debug-infoFred Hebert2019-07-091-0/+13
|\ | | | | rebar3 dialyzer: Warn when debug_info is disabled
| * Apply patch from ferd.Jamu Kakar2019-07-081-8/+10
| |
| * Use better warning message.Jamu Kakar2019-06-281-2/+2
| |
| * rebar3 dialyzer: Warn when debug_info is disableJamu Kakar2019-06-261-0/+11
| |
* | Merge pull request #2121 from tsloughter/plug-upgradesTristan Sloughter2019-07-081-1/+2
|\ \ | | | | | | keep resources in new state used in plugins upgrade
| * | keep resources in new state used in plugins upgradeTristan Sloughter2019-07-071-1/+2
| | |
* | | Merge pull request #2117 from ferd/saleyn-masterFred Hebert2019-07-072-19/+33
|\ \ \ | |/ / |/| | Fix crash when a dependency is missing app.src file
| * | Fix crash when a dependency is missing app fileFred Hebert2019-07-042-3/+10
| | | | | | | | | | | | Patch up and add tests on #2112
| * | Merge branch 'master' of https://github.com/saleyn/rebar3 into saleyn-masterFred Hebert2019-07-041-19/+26
| |\ \
| | * | Refine the error causeSerge Aleynikov2019-07-021-3/+3
| | | |
| | * | Fix 'rebar3 compile' crash when a dependency is missing app fileSerge Aleynikov2019-07-011-19/+26
| | |/
* | | Merge pull request #2118 from ferd/fix-internal-compiler-typeFred Hebert2019-07-041-5/+17
|\ \ \ | | | | | | | | Fix custom compiler mods typespecs, add edoc
| * | | Fix custom compiler mods typespecs, add edocFred Hebert2019-07-041-5/+17
| |/ /
* | | Ensure EDoc opts in umbrella apps are respectedFred Hebert2019-07-041-1/+4
|/ / | | | | | | | | | | | | | | | | | | | | | | | | This adds an additional loading and merging of options for EDoc using the values from the top-level along with those specified in the rebar.config of an umbrella application. The app-specific config values are prepended to the global ones; this can likely cause some problems with manual path handling, but is unlikely to happen in practice and the rest seems to work fine based on order Fixes the issue in #2114
* | Support rebar config dir env varBryan Paxton2019-06-301-2/+9
|/
* Add format_error/1 to print errors nicelySerge Aleynikov2019-06-261-2/+9
|
* Make missing file report more comprehensiveSerge Aleynikov2019-06-261-5/+9
|
* Warn when there's mismatch between rebar.lock & original package checksumKuba Odias2019-06-081-5/+15
|
* Merge pull request #2099 from ferd/gracious-shell-reloadingFred Hebert2019-06-071-5/+25
|\ | | | | Gracious loading of unloaded but blacklisted mods
| * Gracious loading of unloaded but blacklisted modsFred Hebert2019-06-021-5/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rebar3's shell allows people to set applications as blacklisted to prevent them from being reloaded because that can cause crashes. However, as part of its normal operations, rebar_paths unloads all modules that are currently not "owned" by at least one process, considering them safe to do so. These two behaviours, put together, lead to an odd thing where some modules are suddenly unloaded and not in path, and that can be confusing. This calls for a unification of both features. We could decide to be pushing the complexity of rebar3's shell into rebar_path so it knows of blacklists, but this would be a bad idea because rebar_agent already owns all the damn hack. So instead this fix adds an optional call within rebar_agent's blacklisted applications handling that calls `code:ensure_loaded/1` on their modules. This avoids forcing any code change that would cause a crash, but reinstates unloaded paths that could be confusing. Addresses some comments in #2013
* | Only lint app files when compilingFred Hebert2019-06-022-1/+7
|/ | | | | | | | This allows to reduce the number of noise to only checking deps' app files when they're built, rather than on every run. Since main apps and checkouts are still compiled every time, the linting takes place there and then with a higher frequency.
* back to git-based versioningTristan Sloughter2019-06-011-1/+1
|
* Bump to 3.11.1Tristan Sloughter2019-06-011-1/+1
|
* Merge pull request #2075 from tsloughter/tmpl-usageFred Hebert2019-05-311-1/+11
|\ | | | | add support for usage message after template is done
| * add support for usage message after template is doneTristan Sloughter2019-05-131-1/+11
| |
* | back to git-based versioningTristan Sloughter2019-05-301-1/+1
| |
* | Bump to 3.11.0Tristan Sloughter2019-05-301-1/+1
| |
* | bug when reread_config from OTP 17Anders Wei2019-05-281-1/+1
| |
* | Update src/rebar_prv_shell.erlTristan Sloughter2019-05-271-1/+1
| | | | | | Co-Authored-By: Fred Hebert <mononcqc@ferd.ca>
* | add support for reading in environment variables from a fileTristan Sloughter2019-05-271-0/+43
| |
* | Do not apply overrides to a root application.Fred Hebert2019-05-191-4/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | Overrides should apply to a layer below where they are declared. This patch makes it so if the project root is an application (i.e. it isn't 'root' and therefore not an umbrella project), we omit applying overrides in rebar_app_discover. This in turn required changing a bunch of tests, because all the tests worked with the idea that all overrides applied to all apps to validate that they get inherited properly. The changes re-structure the cases so they are written with an umbrella app, demonstrating that the changes stick.
* | Remove pre-17 namespaced types workaroundFred Hebert2019-05-141-14/+0
| |
* | Make test suite pass on OTP-22Fred Hebert2019-05-141-1/+1
| | | | | | | | | | - fix some bad typespec - bump the meck version for good fortune
* | add support for git ref and file content as app versionTristan Sloughter2019-05-123-5/+36
|/
* 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-181-3/+3
|\ | | | | Fix duplicate module naming in edoc test suite data
| * Fix duplicate module naming in edoc test suite dataTino Breddin2019-04-161-3/+3
| |
* | Merge pull request #2035 from ankhers/lint_app_fileFred Hebert2019-04-161-0/+31
|\ \ | |/ |/| Add basic linting for .app file
| * An empty list on applications key should not be treated as missingJustin Wood2019-04-161-2/+2
| |
| * Change wording in application linting to be more clearJustin Wood2019-04-161-1/+1
| |
| * 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-161-1/+1
| |
* | support dialyzer plt location and prefix in cli argsTristan Sloughter2019-04-061-24/+27
| |
* | 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.