Michael Klishin
94b55d71fa
Format with `gmake format`
2019-01-30 22:20:29 +03:00
Michael Klishin
b6f4d75afc
Update (c) year
2019-01-20 06:10:59 +03:00
Daniil Fedotov
b5de2236ce
Add a callback to control erlang distribution.
...
The callback cab be used to disable distribution (offline commands)
or to have command-specific node name and distribution parameters.
2017-12-06 18:10:11 +00:00
Daniil Fedotov
e34bfe2297
Merge branch 'master' into rabbitmq-cli-214-take-two
2017-08-14 14:40:35 +01:00
Daniil Fedotov
568874033d
Run dialyzer tests. Fix warnings.
...
Some types were named wrongly (list(), map())
MapSet cannot be matched to be empty. `%MapSet{}` only matches the type.
2017-08-14 14:36:38 +01:00
Michael Klishin
ea1078fc5f
Update command type specs
2017-08-11 18:06:16 +03:00
Michael Klishin
586a557096
Add a type spec for validate_execution_environment/2
2017-08-11 14:15:36 +03:00
Michael Klishin
8e9b114eac
Fold execution environment validation into a single optional fn
...
While at it, move Ctl.Validators => Core.Validators.
If the function is not defined we skip validation. Note that
individual commands need to be revisited and refactored to use
this mechanism; this is yet to come.
Per discussion with @hairyhum and @lukebakken.
2017-08-04 18:40:17 +03:00
Michael Klishin
032482cec6
Factor in rabbit app state and execution env validation
...
This introduces two other "validation steps" that have little or nothing
to do with CLI argument validation.
Per discussion with @hairyhum.
2017-08-04 15:08:37 +03:00
Michael Klishin
9919700303
Inline validate_and_run_command/3 for greater flexibility
...
This way we can inject more "validation steps" between validate/2
return and command execution, such as checking whether the rabbit app
is running (or not running) on the remote node.
While at it, group functions that are used in a chain.
2017-08-04 14:09:37 +03:00
Daniil Fedotov
b8d6042046
Quiet mode for wait command will suppress log messages
2017-06-07 14:22:59 +01:00
Jean-Sébastien Pédron
5905f1c40a
Update copyright line to year 2017
2017-01-10 15:42:40 +01:00
Michael Klishin
c59b6c029f
Make switches/0 and aliases/0 optional command callbacks
...
Fixes #120 . Same as #124 but doesn't include any unrelated changes
and thus suffer from #126 .
2016-11-22 16:11:25 +03:00
Michael Klishin
e92022da11
Revert "Merge pull request #124 from rabbitmq/rabbitmq-cli-120"
...
This reverts commit c087a635c0 , reversing
changes made to 59225a551d .
See https://github.com/rabbitmq/rabbitmq-cli/issues/126 , which exposed
a serious flaw in the option parser split which was introduced
as part of #124 .
Reopens #120 .
2016-11-22 14:07:58 +03:00
Daniil Fedotov
cc87a49f93
Make switches as aliases callbacks optional
2016-11-18 17:21:27 +00:00
Daniil Fedotov
59225a551d
Remove `flags/0` callback. Remove command modules helpers from helpers to command_modules
2016-11-18 14:12:53 +00:00
Daniil Fedotov
603dfd4cf0
Add optional callbacks to the command behaviour
2016-11-04 11:29:14 +00:00
Daniil Fedotov
14d82eabdc
Refactor error reporting to allow commands specify formatter
2016-11-04 11:11:03 +00:00
Michael Klishin
4a277f1fdd
A bit of docs
2016-09-05 13:29:11 +03:00
Daniil Fedotov
35fc3d12cd
Default output formatting and exit code selection. Inspect printer
2016-08-18 15:35:49 +01:00
Daniil Fedotov
75d8632d87
Aliases in behaviour. List plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
deb6e99b49
Removed scopes from command behaviour
2016-06-23 10:50:01 +01:00
Daniil Fedotov
9baa5c1ebe
Load commands from load path. Specify scope in application config by file name
2016-06-23 10:50:01 +01:00
Michael Klishin
39b3de4d1e
Namespace commands, fixes #74
...
Note that the top level module is not namespaced. It's
not clear to me if it should be or will be end up using
and (Elixir/Mix) umbrella project anyway.
2016-06-10 02:54:22 +03:00