summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Support --setcookie optionFred Hebert2016-02-211-2/+14
| | | | Replicates `erl` behaviour.
* Merge pull request #1065 from tsloughter/plugin_precedenceFred Hebert2016-02-213-8/+21
|\ | | | | give top level plugin providers precedence over default providers
| * give new opt project_plugins providers precedence over default providersTristan Sloughter2016-02-203-8/+21
| |
* | Merge pull request #1061 from ferd/future-proof-lockfilesTristan Sloughter2016-02-215-17/+49
|\ \ | |/ |/| Make lock files future-proof
| * Make lock files future-proofFred Hebert2016-02-165-17/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes to how hex or packages may work in the future will necessarily bring changes to the format of lock files. This commit adds an optional framing for future lock files of the form: {Version, LockList}. <Whatever consultable attributes> This format is supported such as the LockList is the current lockfile contents, and will never have more information than it currently does. Attributes can be whatever and are currently undefined. Rebar copies will be able to: - Keep using the core locklist (which avoids breaking the last year or so of community libraries using rebar3) - Warn when it runs an outdated copy in comparison to the lock file - Automatically rewrite lock files in the format it supports - Augment or parse files in a version-specific manner. This changes the usage interface slightly, but is backwards *and* forwards compatible.
* | break up do/1 function in install_deps to make upgrade less confusingTristan Sloughter2016-02-192-3/+7
| |
* | set default color intensity to highTristan Sloughter2016-02-191-1/+1
| |
* | Merge pull request #902 from project-fifo/less-colorTristan Sloughter2016-02-162-1/+28
|\ \ | |/ |/| Less color
| * Set relx color intensity env variableHeinz N. Gies2016-02-161-0/+2
| |
| * Use an app_env to get color intensityHeinz N. Gies2016-02-161-7/+17
| |
| * Some cleanupHeinz N. Gies2016-02-091-8/+11
| |
| * Merge masterHeinz N. Gies2016-02-0832-798/+2242
| |\
| * | Allow switching based on env variableHeinz N. Gies2015-11-041-1/+10
| | |
| * | Fixed error log formatingHeinz N. Gies2015-11-011-1/+1
| | |
| * | Make output a bit more discreteHeinz N. Gies2015-11-011-1/+4
| | |
* | | Merge pull request #1048 from fauxsoup/masterTristan Sloughter2016-02-111-7/+14
|\ \ \ | |_|/ |/| | Add secondary hook for rebar_prv_compile
| * | Include hook for app compilationZachary Hueras2016-02-091-4/+7
| | |
| * | Add secondary hook for rebar_prv_compileZachary Hueras2016-02-021-7/+11
| | | | | | | | | | | | | | | erlc_compile, for before/after compiling .erls to .beams, but before .app.src to .app
* | | Merge pull request #1047 from fishcakez/dialyzer_unknownTristan Sloughter2016-02-051-1/+22
|\ \ \ | | | | | | | | Ignore unknown warning when dialyzer < 2.8
| * | | Ignore unknown warning when dialyzer < 2.8James Fish2016-02-021-1/+22
| |/ /
* | | check top level config for minimum or blacklisted otps at startTristan Sloughter2016-02-031-0/+3
|/ /
* | add user-agent to http request headersTristan Sloughter2016-02-013-3/+8
| |
* | don't lose overrides in an app when installing plugins it uses'Tristan Sloughter2016-01-311-4/+14
| |
* | fix paths for multiple app projects when running ct with no --dir argumentalisdair sullivan2016-01-301-7/+13
| |
* | don't strip the project apps when running `ct` with just a root suite specifiedalisdair sullivan2016-01-301-2/+3
| | | | | | | | this ensures the project apps are compiled to `lib/` instead of `extras/`
* | Add module directory to include pathLuis Rascao2016-01-261-2/+3
| | | | | | | | | | | | | | | | | | | | Several projects use an include path relative to the project's root. file:compile will look in three places for the include files: The current working directory The directory where the module is being compiled The directories given by the include option
* | Merge pull request #1031 from tsloughter/masterFred Hebert2016-01-241-11/+15
|\ \ | | | | | | add profile option to clean task
| * | add profile option to clean taskTristan Sloughter2016-01-231-11/+15
| | |
* | | Merge pull request #1024 from talentdeficit/dedupe_eunit_default_testsTristan Sloughter2016-01-231-10/+39
|\ \ \ | |/ / |/| | deduplicate default test set generated by `rebar3 eunit`
| * | deduplicate default test set generated by `rebar3 eunit`alisdair sullivan2016-01-171-10/+39
| | | | | | | | | | | | | | | this ONLY attempts to deduplicate test sets that are generated by rebar in the absence of any user specified tests
* | | move unstable install and upgrade to local namespaceTristan Sloughter2016-01-222-2/+2
| | |
* | | add support for setting erl vm args with REBAR3_ERL_ARGSTristan Sloughter2016-01-221-1/+1
| | |
* | | Display error message when bad config is loadedFred Hebert2016-01-171-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a bad configuration file is submitted to rebar3 shell, display the following error: ===> The configuration file submitted could not be read and will be ignored. And keep going otherwise rather than silently failing. While crash-fast is usually a good mechanism, the shell so far is very tolerant of failures from apps to boot and whatnot, so this feels appropriate. Fixes #1019
* | | Merge pull request #1017 from talentdeficit/runtime_version_checkFred Hebert2016-01-171-5/+8
|\ \ \ | |/ / |/| | check at runtime instead of compile time for `file:list_dir_all/1`
| * | check at runtime instead of compile time for presence of `file:list_dir_all/1`alisdair sullivan2016-01-131-5/+8
| | | | | | | | | | | | | | | | | | this is slower than the compile time check but i guess packaging rebars with repos is still a thing and i think only the eunit and ct providers call it anyways
* | | Merge pull request #1018 from talentdeficit/cover_what_are_you_doooooingFred Hebert2016-01-161-4/+3
|\ \ \ | | | | | | | | change detection of valid modules for `eunit`
| * | | change detection of valid modules for `eunit`alisdair sullivan2016-01-131-4/+3
| |/ / | | | | | | | | | | | | | | | | | | `beam_lib:chunks(..)` needs a path to object code which, frustratingly, `code:which/1` won't return for cover compiled modules. instead just assume that if `code:which/1` doesn't return `non_existing` a module is something we can run tests on
* | | Merge pull request #1021 from tsloughter/masterTristan Sloughter2016-01-151-1/+2
|\ \ \ | |/ / |/| | convert 'app' to 'application' in eunit_opts to match cmdline args
| * | convert 'app' to 'application' in eunit_opts to match cmdline argsTristan Sloughter2016-01-151-1/+2
| | |
* | | when using the `--file' argument to `eunit' paths were being convertedalisdair sullivan2016-01-121-9/+20
|/ / | | | | | | into directory test arguments
* | Merge pull request #995 from ferd/fix-old-shellTristan Sloughter2016-01-102-3/+790
|\ \ | | | | | | Support old-style shell for rebar3 shell
| * | Correct TTY type detectionFred Hebert2016-01-061-17/+23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reuses the trick used within OTP to pick within old and new shell. The 'user' structure is the same for all cases (escript, escript + dumb TERM, unstable install, unstable install + dumb TERM), so we take it down first. Then we boot the TTY driver, which fails if TERM=dumb, in which case we boot the retro-style usr. If it worked, we shut down the driver again, and boot a modern shell structure. This avoids all warnings and seems to work in all cases.
| * | Support old-style shell for rebar3 shellFred Hebert2016-01-062-0/+781
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is quite the hack. This requires to detect the current shell running; if it's the new shell, business as usual. However, if it's the old shell, we have to find a way to take over it and drive IO. This requires a few steps because: - the old shell does not let you be supervised intelligently (it uses supervisor_bridge, so killing the child is not a supported operation from the supervisor) - the old shell ignores all trappable exit signals except those coming from the Port in charge of stdio ({fd, 0, 1}) - the old shell shuts down on all exit signals from the stdio Port except for badsig, and replicates the shutdown reason otherwise - An escript does not tolerate the `user` process dying (old shell) for any non-normal reason without also taking the whole escript down - Booting in an escript has an implicit 'noshell' argument interpreted by the old shell as a way to boot the stdio Port with only stdout taken care of Because of all these points, we have to kill the old `user` process by sending it a message pretending to be the Stdio port dying of reason `normal`, which lets it die without triggering the ire of its supervision tree and keeping the escript alive. This, in turn, kills the old stdio port since its parent (user.erl) has died. Then we have to boot our copy of user.erl (rebar_user.erl) which conveniently ignores the possibility of running the stdio port on stdout only -- always using stdin *and* stdout, giving us a bona fide old-style shell. A known issue introduced is that running r3:do(ct) seems to then kill the shell, and r3:do(dialyzer) appears to have an odd failure, but otherwise most other commands appear to work fine.
* | | Merge pull request #1009 from tsloughter/masterFred Hebert2016-01-101-1/+11
|\ \ \ | | | | | | | | merge overlay entries into a single {overlay, list()} for relx
| * | | merge overlay entries into a single {overlay, list()} for relxTristan Sloughter2016-01-101-1/+11
| | | |
* | | | Unquote templates, add a warning instead.Fred Hebert2016-01-101-0/+25
|/ / /
* | | install project app plugins after discovering them not beforeTristan Sloughter2016-01-103-4/+13
| | |
* | | Merge pull request #1006 from tsloughter/masterFred Hebert2016-01-092-4/+5
|\ \ \ | | | | | | | | only apply default and prod profile to dependencies
| * | | only apply default and prod profile to dependenciesTristan Sloughter2016-01-092-4/+5
| | | |
* | | | Merge pull request #999 from ferd/fix-windows-stuffTristan Sloughter2016-01-081-4/+12
|\ \ \ \ | |/ / / |/| | | Fix windows stuff