Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Work around OTP-21 deprecation of get_stacktrace() | Fred Hebert | 2018-05-03 | 1 | -2/+1 |
| | | | | Based off a macro by @okeuday at https://github.com/erlang/otp/pull/1783 | ||||
* | Prevent hard crash on duplicate plugin paths | Fred Hebert | 2017-10-20 | 1 | -0/+1 |
| | | | | | | | | | | | | | | | When a global plugin is used both locally and within the project, there are cases when the rebar3 program will hard crash (killed in do_boot). This has been traced to plugin-handling in compilation, where the same code path may be purged twice in a row without further reloading for the compile operation. This of course yields the result where the code handling on the VM kills all processes holding references to the module in memory, in this case the rebar3 process itself. By deduplicating the paths first, we ensure at most one purge before reloading plugins and paths, and this prevents a hard crash. | ||||
* | Unicode support in all the places | Fred Hebert | 2017-08-06 | 1 | -5/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is done through 3 main change groups: - replacing `~s` by `~ts` in format strings, so that strings that contain unicode are properly printed rather than crashing - adding the `unicode` argument to all function of the `re` module to ensure transformations on strings containing unicode data are valid instead of crashing (see issue #1302) - replacing `ec_cnv:to_binary/1` and `ec_cnv:to_list/1` with matching functions in `rebar_utils`. The last point has been done, rather than modifying and updating erlware commons, because binary and list conversions can be a contentious subject. For example, if what is being handled is actually bytes from a given binary stream, then forcing a byte-oriented interpretation of the data can corrupt it. As such, it does not appear safe to modify erlware commons' conversion functions since it may not be safe for all its users. Instead, rebar3 reimplements a subset of them (only converting atoms and chardata, ignoring numbers) with the explicit purpose of handling unicode string data. Tests were left as unchanged as possible. This may impact the ability to run rebar3's own suites in a unicode path, but respects a principle of least change for such a large patch. | ||||
* | Type specifications and edocs improvements | Fred Hebert | 2016-11-27 | 1 | -2/+32 |
| | | | | | | Includes improvments and function documentation for all modules (in alphabetical order) up to rebar_core, and may have included more in other modules as I saw fit to dig and understand more of the internals. | ||||
* | add DEBUG statement of the command sequence that'll be run | Tristan Sloughter | 2015-09-19 | 1 | -0/+1 |
| | |||||
* | fix dialyzer warnings, except 'no local return' warnings | Tristan Sloughter | 2015-08-08 | 1 | -2/+2 |
| | |||||
* | Fix reporting of error:undef exceptions | Fred Hebert | 2015-07-09 | 1 | -3/+9 |
| | | | | | | | | | The wide-cast catching of undef errors would make it so any provider calling an undefined function would be reported as a missing 'do' for the provider. This patch inspects the stacktrace to know if `Provider:do/1` is indeed the missing callback, and reports the rest properly. | ||||
* | Add error message for bad provider hook, fixes #521 | Tristan Sloughter | 2015-06-19 | 1 | -1/+3 |
| | |||||
* | print nice error message if do is undef for provider | Tristan Sloughter | 2015-06-16 | 1 | -2/+13 |
| | |||||
* | store plugin providers in app_info's state for deps | Tristan Sloughter | 2015-05-28 | 1 | -0/+1 |
| | |||||
* | install dep plugins & run provider hooks the same as shell hooks | Tristan Sloughter | 2015-04-04 | 1 | -1/+1 |
| | |||||
* | handle additional errors returned from `getopt:parse/2` | alisdair sullivan | 2015-03-23 | 1 | -1/+5 |
| | |||||
* | support args on tasks passed to 'as' | Tristan Sloughter | 2015-03-23 | 1 | -0/+2 |
| | |||||
* | Fix #267, refactor as/do/namespace interactions | Fred Hebert | 2015-03-13 | 1 | -51/+38 |
| | | | | | | | | | | Breaking up initial call to parse from the ones deep inside the provider parsing to do smarter namespace detection, added 'as' the ability to look into these also, and cleaned up the code a whole lot that would depend on implicit assumptions. A side-effect is that 'do' is now valid for all namespaces, although it can be overriden. | ||||
* | update erlydtl compiler to output to _build, add simple test | Tristan Sloughter | 2015-03-07 | 1 | -1/+1 |
| | |||||
* | Fix namespace regressions | Fred Hebert | 2015-03-07 | 1 | -4/+34 |
| | | | | | | | This adds some more convolution to command parsing, unfortunately, but makes some cases clearer (`rebar3 as as as as` is no longer valid). It unfortunately disallows using $REBAR_PROFILE along with `as` in a rebar command. | ||||
* | fix code path update for deps | Tristan Sloughter | 2015-03-06 | 1 | -37/+1 |
| | |||||
* | apply profiles and overrides for an app's opts to the base opts | Tristan Sloughter | 2015-03-05 | 1 | -4/+5 |
| | |||||
* | fix for profiles_remain_applied_with_config_present | Tristan Sloughter | 2015-03-04 | 1 | -5/+3 |
| | |||||
* | support for provider_hooks in config | Tristan Sloughter | 2015-01-31 | 1 | -11/+12 |
| | |||||
* | replace single profile atom in providers with list of profiles | Tristan Sloughter | 2015-01-11 | 1 | -2/+2 |
| | |||||
* | Tests and fixes for namespaces | Fred Hebert | 2014-12-21 | 1 | -2/+7 |
| | |||||
* | Dynamic 'do' provider for namespaces | Fred Hebert | 2014-12-21 | 1 | -13/+31 |
| | | | | | | | | | | | Using a namespace such as 'rebar3 lfe new' will look for the 'new' command in 'lfe' namespace without the need for a 'do' provider to be registered in that namespace. Manually checked that 'rebar3 as <profile> <namespace> command' works, as well with 'default' and 'do'. Test suite still needed. | ||||
* | Add support for namespace-based metacommands | Fred Hebert | 2014-12-21 | 1 | -3/+12 |
| | | | | And more general namespace support | ||||
* | don't include all */ebin dirs in code path | Tristan Sloughter | 2014-12-16 | 1 | -1/+8 |
| | |||||
* | add 'as' higher order task | Tristan Sloughter | 2014-12-16 | 1 | -5/+7 |
| | |||||
* | rewrite profiles | Tristan Sloughter | 2014-12-16 | 1 | -11/+9 |
| | |||||
* | move dir functions from utils to new module rebar_dir | Tristan Sloughter | 2014-12-01 | 1 | -4/+4 |
| | |||||
* | fixes for dialyzer findings | Tristan Sloughter | 2014-11-30 | 1 | -1/+1 |
| | |||||
* | add use of REBAR_PROFILE os var to set default profile | Tristan Sloughter | 2014-11-30 | 1 | -4/+3 |
| | |||||
* | wip: profiles | Tristan Sloughter | 2014-11-29 | 1 | -13/+16 |
| | |||||
* | prepend base_dir when expanding code path | Tristan Sloughter | 2014-11-08 | 1 | -2/+3 |
| | |||||
* | return error on not found provider for command | Tristan Sloughter | 2014-10-22 | 1 | -12/+16 |
| | |||||
* | formatting | Tristan Sloughter | 2014-10-11 | 1 | -2/+1 |
| | |||||
* | support compile jobs option | Tristan Sloughter | 2014-10-10 | 1 | -6/+11 |
| | |||||
* | split options up by task | Tristan Sloughter | 2014-10-10 | 1 | -2/+11 |
| | |||||
* | move providers to separate app | Tristan Sloughter | 2014-10-03 | 1 | -4/+4 |
| | |||||
* | return error messages from providers | Tristan Sloughter | 2014-09-27 | 1 | -6/+14 |
| | |||||
* | slowly widdling away at dialyzer errors | Tristan Sloughter | 2014-09-20 | 1 | -2/+0 |
| | |||||
* | install plugins to plugins/ | Tristan Sloughter | 2014-09-20 | 1 | -8/+12 |
| | |||||
* | add plugin template | Tristan Sloughter | 2014-09-20 | 1 | -1/+2 |
| | |||||
* | add do task | Tristan Sloughter | 2014-09-18 | 1 | -4/+4 |
| | |||||
* | improved dep handling and add package list task | Tristan Sloughter | 2014-08-24 | 1 | -1/+1 |
| | |||||
* | simplify dep download and building | Tristan Sloughter | 2014-08-23 | 1 | -1/+1 |
| | |||||
* | refactoring and remove unused providers for now | Tristan Sloughter | 2014-08-23 | 1 | -1/+2 |
| | |||||
* | only build unbuilt deps | Tristan Sloughter | 2014-08-18 | 1 | -4/+4 |
| | |||||
* | start of moving to splitting state from config parsing | Tristan Sloughter | 2014-08-17 | 1 | -41/+12 |
| | |||||
* | add rebar update provider | Tristan Sloughter | 2014-08-16 | 1 | -2/+2 |
| | |||||
* | move back to single command with arguments for comamnd after it | Tristan Sloughter | 2014-08-16 | 1 | -3/+3 |
| | |||||
* | large refactoring | Tristan Sloughter | 2014-08-16 | 1 | -594/+35 |
| | | | | | | | | Removed separate compilers Resolves apps to build Finds avail deps before pulling/building Includes relx Simplifies build commands |