summaryrefslogtreecommitdiff
path: root/src/rebar_prv_shell.erl
Commit message (Collapse)AuthorAgeFilesLines
* Shell handles all possible relx app formatsFred Hebert2015-09-261-2/+15
| | | | | | | | | The list of applications in the relx config section could contain tuples. The tuple will either contain a version constraint for the app, the start type of the app or both. This fix silently expands `{shell_apps, [Apps]}` to support the same format.
* fix dialyzer warnings, except 'no local return' warningsTristan Sloughter2015-08-081-1/+1
|
* Detect missing EPMD, error, fallback and advise.Fred Hebert2015-08-051-2/+8
|
* Run agent as current process & hibernateFred Hebert2015-07-031-3/+9
| | | | | | | This tries to reduce memory usage when running `rebar3 shell` by running the agent in the current process (and avoiding to copy state cross-boundaries), and using frequent hibernation after each run to force a full GC and compaction of the current process.
* OTP apps show proper outputFred Hebert2015-06-151-1/+4
| | | | | | | | | | Whenever the old shell got killed and an app got loaded prior, the whole thing would silently drop output as the old 'user' process was replaced while application master processes would keep the old one's pid in their internal state. To work around this limitation, make sure the apps are booted only after the shell is replaced so that only the new `user` pid is used.
* Handle custom logger shell breakageFred Hebert2015-06-011-6/+12
| | | | | | | When swapping handlers, if a custom shell has been installed, it's possible it'll take over the tty and other options. This may break common operations that work on an otherwise regular shell, so we ignore failures and let things work with the custom shell only.
* Merge pull request #487 from ferd/fix-provider-barenessTristan Sloughter2015-05-301-1/+1
|\ | | | | fix bareness issues
| * fix bareness issuesFred Hebert2015-05-311-1/+1
| | | | | | | | | | | | - Crashes in providers lib when no providers in a namespace are bare - Making sure bareness matches semantics; i.e. a bare provider is visible, a non-bare provider is hidden.
* | Fix badarg exception when setting group_leader for a dead pidAndras Boroska2015-05-301-2/+4
|/ | | | | | When setting up a shell some time elapses between listing the pids and setting the group_leader. If the process exited during that time then erlang:group_leader/2 will crash with badarg.
* Optionally allow node names to the rebar3 shell.Fred Hebert2015-05-301-12/+30
| | | | | Helps with integration efforts, but unfortunately can't support the '-sname' and '-name' options, only '--sname' and '--name'.
* Fix config loading in shellFred Hebert2015-05-301-1/+4
| | | | | | | | | | | | | | | Config files from the command line would expect the wrong format: {app1, [...]}. {app2, [...]}. Instead of the correct sys.config format: [{app1, [...]}, {app2, [...]}] Not supported yet: the recursive file references documented in http://www.erlang.org/doc/man/config.html
* Add support to boot apps from releases in shellFred Hebert2015-05-291-1/+14
| | | | Precedence still goes to shell_apps.
* Get prebooted apps to acknowledge sys.configFred Hebert2015-05-291-3/+16
| | | | | Change the order from load-config -> start-apps to load-apps -> load-config -> start-apps
* Rebar agent reloads the config file on every runFred Hebert2015-05-281-1/+1
| | | | | This allows proper checking of new configurations, deps, or plugins, and makes sure they are detected during an active shell session.
* Add a shell agentFred Hebert2015-05-261-10/+14
| | | | | The shell agent allows to run rebar3 commands and autoload compiled modules when that is done.
* Adding app auto-boot to rebar shellFred Hebert2015-05-231-35/+63
| | | | | | | | | | - moved path addition, config loading and app boot to before the shell is available - apps successfully booting are in an INFO message, failed to boot into an ERROR message - A warning is printed when apps are booted informing to please use releases for actual deployment, and is omitted otherwise. - Some minor refactorings otherwise.
* print and format error message for bad .app files and all bad configsTristan Sloughter2015-05-221-15/+6
|
* try to read a config file when running `rebar shell`Nathaniel Waisbrot2015-05-071-1/+61
| | | | | | Adds a `--config` flag to the shell command to specify a config file. If the flag is not specified, attempts to read the sys_config defined for relx.
* real bootstrappingTristan Sloughter2015-04-221-1/+1
|
* track and cleanup code paths for different contextsTristan Sloughter2015-04-211-6/+7
|
* add default test paths in the `shell` and `cover` providersalisdair sullivan2015-04-031-2/+14
|
* update all examples in providers to use rebar3Tristan Sloughter2015-03-071-1/+1
|
* remove unneeded add path that breaks with apps/ dir as wellTristan Sloughter2014-12-011-1/+0
|
* move back to using format_error/1Tristan Sloughter2014-11-091-4/+4
|
* handle throw by relxTristan Sloughter2014-11-081-2/+2
|
* add format_error/2 provider callback to providersTristan Sloughter2014-10-221-1/+6
|
* move providers to separate appTristan Sloughter2014-10-031-9/+9
|
* return error messages from providersTristan Sloughter2014-09-271-1/+1
|
* more dialyzer fun. no likey opaque typesTristan Sloughter2014-09-211-8/+8
|
* add support for plugins as pre and post hooksTristan Sloughter2014-09-181-7/+3
|
* reworking of help display and parse of commandsTristan Sloughter2014-09-171-1/+1
|
* rename shell providerTristan Sloughter2014-08-241-0/+118