Daniil Fedotov
c62d48380a
Load command specific options from a single command
2016-11-30 16:51:59 +00: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
36ac65d56a
Remove dependencies
2016-11-15 16:14:22 +00:00
Daniil Fedotov
ccb6bf116c
Namespace refactoring
2016-11-14 17:52:08 +00:00
Daniil Fedotov
1dc8e90a70
Make tests happy
2016-11-10 17:40:43 +00:00
Daniil Fedotov
3c8e6d1ef7
Use seconds in timeout parameter. Better timeout error report
2016-11-10 14:53:59 +00:00
Daniil Fedotov
ad90e60121
script name is overridable via argument
2016-11-08 14:21:31 +00:00
Daniil Fedotov
b98470288d
List plugins formatter
2016-11-08 14:19:11 +00:00
Daniil Fedotov
85d6868763
Make table formatter look like in the old CLI
2016-11-04 12:38:35 +00:00
Daniil Fedotov
dcd831ec99
Correct IO device name
2016-11-04 11:12:14 +00:00
Daniil Fedotov
14d82eabdc
Refactor error reporting to allow commands specify formatter
2016-11-04 11:11:03 +00:00
Daniil Fedotov
3f4abba717
Command specific formatters
2016-11-03 18:10:18 +00:00
Daniil Fedotov
4c13a51ac8
Reworking command outputs
2016-08-22 12:58:37 +01:00
Daniil Fedotov
0da30bd1d1
Help command return list of strings instead of printing them\
2016-08-18 17:38:49 +01:00
Daniil Fedotov
35fc3d12cd
Default output formatting and exit code selection. Inspect printer
2016-08-18 15:35:49 +01:00
Michael Klishin
1d911b4350
Delete a duplicate fn head
2016-08-14 08:07:19 +03:00
Michael Klishin
cb209d834d
Merge branch 'master' into rabbitmq-cli-rename-cluster-node-command
...
Conflicts:
lib/rabbitmqctl.ex
2016-08-12 04:36:51 +03:00
Michael Klishin
0449004a6b
Merge branch 'master' into rabbitmq-cli-change-cluster-node-type
2016-08-12 01:04:01 +03:00
Michael Klishin
ad2b4627c7
Merge branch 'master' into rabbitmq-cli-9
...
Conflicts:
lib/rabbitmq/cli/ctl/parser.ex
lib/rabbitmqctl.ex
2016-08-11 11:52:54 +03:00
Daniil Fedotov
6f3f0854bd
Rename auto complete option for consistency
2016-08-10 18:19:06 +01:00
Michael Klishin
31c3356c56
Use effective program name in help command output
...
Note that this solution is imperfect because
for tests the name of the tool is `mix`. But most
tests don't care.
2016-08-09 15:05:48 +03:00
Michael Klishin
a06a4321d6
merge_defaults_defaults => merge_all_defaults
2016-08-08 21:46:47 +03:00
Daniil Fedotov
4d40649d44
Command auto completion
2016-07-28 17:46:37 +01:00
Daniil Fedotov
7b35c7c2cc
More validation, error handling and tests
2016-07-27 11:48:24 +01:00
Daniil Fedotov
f2c4986fcf
Implementing rename_cluster_nodes command
2016-07-26 18:08:37 +01:00
Daniil Fedotov
cd68b3ce9c
Implement change_cluster_node_type command
2016-07-25 16:48:45 +01:00
Michael Klishin
70f486c27d
Squash a few compilation warnings
2016-07-10 12:08:33 +03:00
Michael Klishin
941263e83c
Eliminate several warnings
2016-06-26 22:47:37 +03:00
Daniil Fedotov
963f6a2ff9
tests for list plugins command
2016-06-23 10:50:01 +01:00
Daniil Fedotov
2415ee58aa
Plugin management commands
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
Michael Klishin
506c9cc43f
Normalize node names before passing them to Command.run/2
...
Fixes #76 .
2016-06-10 00:56:44 +03:00
Michael Klishin
d27469c665
RabbitMQ.CLI.RabbitMQCtl => RabbitMQ.CLI.Ctl, references #74
2016-06-09 04:08:21 +03:00
Michael Klishin
4e31f4c627
More renaming, references #74
2016-06-09 04:00:43 +03:00
Michael Klishin
8fcad8338e
Namespace more modules under RabbitMQ.CLI, part of #74
2016-06-09 03:34:56 +03:00
Michael Klishin
0c35f5a8cd
Move start_distribution into RabbitMQ.CLI.Distribution
2016-06-09 02:23:10 +03:00
Michael Klishin
3a2b277d4f
Squash a warning
2016-06-09 00:42:51 +03:00
Daniil Fedotov
091105e5b0
0 arity start_distribution
2016-06-08 17:04:08 +01:00
Daniil Fedotov
9b703b2896
Dynamically select distribution node
2016-06-08 15:19:37 +01:00
Jean-Sébastien Pédron
1b1534f86b
Implement the `join_cluster` command
...
Compared to the Erlang-based rabbitmqctl's command, this one accepts
`--disc` to specify the node type. In the implementation, it does
nothing because that's the default value already. It is only to improve
consistency, because there is a `--ram` flag.
The testsuite for this command is incomplete in this commit. When a
testcase will be able to start and stop multiple nodes, the testsuite
will need to be completed.
[#116551629 ]
2016-06-06 16:06:52 +02:00
Jean-Sébastien Pédron
9349c9bf07
Improve "Please stop the node with rabbitmqctl stop_app" message
...
... with "Please stop RabbitMQ with rabbitmqctl stop_app".
The previous message didn't make sense: `stop_app` only stop the
RabbitMQ application, not the entire node (which we don't want to do in
the context of this message).
2016-06-06 16:00:50 +02:00
kjnilsson
43ae69a06d
Implement wait command
2016-06-02 16:03:54 +01:00
kjnilsson
dec08906fa
Implement reset and force_reset commands
2016-06-02 11:55:10 +01:00
Michael Klishin
be84eb1e96
Handle node healthcheck failures
2016-06-02 01:38:09 +03:00
kjnilsson
715f691b8e
avoid connecting to rabbitmq before executing help command
...
avoid printing a nil banner
2016-05-31 09:40:48 +01:00
Michael Klishin
c8f36766b2
Don't fail with undef when printing command usage info with invalid CLI arguments
2016-05-30 02:16:10 +03:00
Michael Klishin
17f6c10f6b
Cosmetics
2016-05-30 02:06:52 +03:00
Daniil Fedotov
70c17aa4f0
Print full usage on errors
2016-05-27 08:59:14 -06:00
Daniil Fedotov
e01e0da063
Print help for selected command
2016-05-27 08:59:14 -06:00
kjnilsson
d8ed6bef3c
merge
2016-05-27 12:10:11 +01:00
kjnilsson
0704c14376
update status command with new behaviour
2016-05-27 11:25:21 +01:00
Michael Klishin
aab8281fef
Cosmetics
2016-05-27 11:46:52 +03:00
Daniil Fedotov
d83a59637d
Ability to specify switches in commands
2016-05-26 15:02:10 -06:00
Daniil Fedotov
cfe41481a3
Return Stream from listing commands
2016-05-25 20:03:17 +01:00
Daniil Fedotov
b7b2bbdcd2
Merge pull request #26 from rabbitmq/rabbitmq-cli-25
...
Re-parse the command on bad option in standard messages
2016-05-10 09:29:50 +01:00
Brandon Shroyer
fe6f9763fd
Parse commands internally in some print_standard_message commands
2016-05-09 11:38:37 -04:00
Brandon Shroyer
675b53040a
Re-parse the command on bad option in standard messages
2016-05-09 11:07:49 -04:00
Daniil Fedotov
a4033ef769
Print usage on incorrect command behaviour
2016-05-09 11:07:46 +01:00
Daniil Fedotov
3f869e18fb
Fixing tests
2016-05-05 18:17:50 +01:00
Daniil Fedotov
ed28bef62e
Some refactorings
2016-05-05 11:39:27 +01:00
Daniil Fedotov
357904e0fe
Experimental
2016-05-05 11:22:42 +01:00
Brandon Shroyer
a158a1b2a8
Refactor module command execution in main module
2016-05-04 19:21:21 -04:00
Brandon Shroyer
a2bedded17
WIP: Change module-specific command name to to run/2
2016-05-04 19:21:21 -04:00
Brandon Shroyer
ca07bee46f
Add check for valid flags to main module
2016-05-04 15:40:09 -04:00
Brandon Shroyer
31b377f4ce
Status command prints info string unless suppressed
2016-05-02 10:38:54 -04:00
Brandon Shroyer
555aad1c40
Alter usage formatting to handle commands with multiple usage strings
2016-04-29 14:08:42 -04:00
Brandon Shroyer
693236ee70
Add argument count error reporting to main module.
2016-04-26 14:38:23 -04:00
Brandon Shroyer
a1eac46e90
Separate argument count error codes from bad argument error codes in rabbitmqctl main
2016-04-26 12:20:11 -04:00
Brandon Shroyer
a4a035d062
Convert unrecognized return codes to a standardized system
2016-04-05 13:58:31 -04:00
Brandon Shroyer
8daf2c182a
Improve handling of refused authentication
2016-04-01 13:58:47 -04:00
Brandon Shroyer
b2be1e8307
Handle extra edge case of authenticate_user return tuple
2016-04-01 13:42:25 -04:00
Brandon Shroyer
51922e4215
Fix exit code implementation so that it actually returns exit codes
2016-04-01 12:13:01 -04:00
Brandon Shroyer
e254c3fd07
Reenabling printout in rabbitmqctl for debugging purposes.
2016-03-29 15:23:09 -04:00
Brandon Shroyer
ed1e7784bf
Refactor default autofills in main module
2016-03-28 11:18:08 -04:00
Brandon Shroyer
bebc03b4a5
Converting some tabs that snuck in into spaces
2016-03-22 16:21:12 +00:00
Brandon Shroyer
f387fd97d0
Remove extra print statement from result handler
2016-03-22 14:57:35 +00:00
Brandon Shroyer
6bde6372f9
Remove unnecessary (and noisy) exit calls
2016-03-22 13:38:55 +00:00
Brandon Shroyer
a17b03283f
Implement Unix-style exit codes from server-396
...
* Implements a set of Unix-like exit codes described in https://github.com/rabbitmq/rabbitmq-server/issues/396
2016-03-21 17:59:22 +00:00
Brandon Shroyer
a065934ff7
Remove unnecessary variable bindings.
2016-03-09 11:41:34 -05:00
Brandon Shroyer
95286b2ee2
Remove unhelpful autofills from RabbitMQCtl errors.
2016-03-08 12:16:38 -05:00
Brandon Shroyer
86b09639ec
Add timeouts to list_user_permissions, refactor a bunch of tests.
2016-03-08 12:05:25 -05:00
Brandon Shroyer
f697e93d02
Converted options to maps.
2016-03-07 17:48:03 -05:00
Brandon Shroyer
6a4381c12c
Auto-populate empty option[:node] in rabbitmqctl.main
2016-03-07 14:14:35 -05:00
Brandon Shroyer
28463f4d7f
Add list_user_permissions, support for commands with args.
2016-03-07 11:16:19 -05:00
Brandon Shroyer
d681309dce
Add rudimentary usage support, refactoring main command.
2016-03-04 16:48:25 -05:00
Brandon Shroyer
a5a54f1f85
Generate map of command modules.
2016-03-04 13:15:53 -05:00
Brandon Shroyer
9eb6345d10
Replace Mix.Utils.camelize with user-defined function.
2016-03-03 11:06:30 -05:00
Brandon Shroyer
5a6e7ae8bc
Use code module to avoid naming commands explicitly in RabbitMQCtl.main.
2016-02-25 16:16:25 -05:00
Brandon Shroyer
c46a5156cb
Split status printing methods into separate module.
2016-02-25 15:03:28 -05:00
Brandon Shroyer
8764f59093
A couple of comments and some nicer spacing between public and private methods.
2016-02-03 10:15:43 -05:00
Brandon Shroyer
d5278f0ec3
Added legal boilerplate.
2016-02-03 10:01:32 -05:00
Brandon Shroyer
caef6f5f40
Renamed app to RabbitMQCtl.
2016-02-03 09:43:21 -05:00