| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| | |
fix bareness issues
|
| |
| |
| |
| |
| |
| | |
- 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.
|
|/
|
|
|
|
| |
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.
|
|
|
|
|
| |
Helps with integration efforts, but unfortunately can't support the
'-sname' and '-name' options, only '--sname' and '--name'.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
| |
Precedence still goes to shell_apps.
|
|
|
|
|
| |
Change the order from load-config -> start-apps to load-apps ->
load-config -> start-apps
|
|
|
|
|
| |
This allows proper checking of new configurations, deps, or plugins, and
makes sure they are detected during an active shell session.
|
|
|
|
|
| |
The shell agent allows to run rebar3 commands and autoload compiled
modules when that is done.
|
|
|
|
|
|
|
|
|
|
| |
- 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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|