src/main/java/io/arivera/oss/embedded/rabbitmq/bin/RabbitMqPlugins.java
public Map<String, Plugin> list() {
    String[] args = {LIST_COMMAND};
    String executionErrorMessage = String.format("Error executing: %s %s", EXECUTABLE, LIST_COMMAND);
    String unexpectedExitCodeMessage = "Listing of plugins failed with exit code: ";

    ProcessResult processResult = getProcessResult(args, executionErrorMessage, unexpectedExitCodeMessage);

    List<Plugin> plugins = parseListOutput(processResult);
    Map<String, Plugin> result = mapPluginsByName(plugins);
    return result;
  }
public Map<String, Plugin> list() {
    String[] args = {LIST_COMMAND};
    String executionErrorMessage = String.format("Error executing: %s %s", EXECUTABLE, LIST_COMMAND);
    String unexpectedExitCodeMessage = "Listing of plugins failed with exit code: ";

    ProcessResult processResult = getProcessResult(args, executionErrorMessage, unexpectedExitCodeMessage);

    List<Plugin> plugins = parseListOutput(processResult);
    Map<String, Plugin> result = mapPluginsByName(plugins);
    return result;
  }
Executes the {@code rabbitmq-plugins list} command

@return a Map where the key is the plugin name and the value is the full plugin details parsed from the output.

@throws RabbitMqCommandException if the command cannot be executed, it doesn't
{@link EmbeddedRabbitMqConfig.Builder#defaultRabbitMqCtlTimeoutInMillis(long)
finish in time} or exits unexpectedly
@see #groupedList()