Sha256: b12ed450cd6e68fa4ba8fd42b4098483c9bfa6f1cc6528a0fc7bac20f49f1645
Contents?: true
Size: 1.72 KB
Versions: 2
Compression:
Stored size: 1.72 KB
Contents
require 'clamp' require 'logstash/namespace' require 'logstash/pluginmanager/util' require 'logstash/pluginmanager/command' require 'rubygems/spec_fetcher' class LogStash::PluginManager::List < LogStash::PluginManager::Command parameter "[PLUGIN]", "Part of plugin name to search for, leave empty for all plugins" option "--installed", :flag, "List only explicitly installed plugins using bin/plugin install ...", :default => false option "--verbose", :flag, "Also show plugin version number", :default => false option "--group", "NAME", "Filter plugins per group: input, output, filter or codec" do |arg| raise(ArgumentError, "should be one of: input, output, filter or codec") unless ['input', 'output', 'filter', 'codec'].include?(arg) arg end def execute require 'logstash/environment' LogStash::Environment.bundler_setup! signal_error("No plugins found") if filtered_specs.empty? filtered_specs.sort_by{|spec| spec.name}.each do |spec| line = "#{spec.name}" line += " (#{spec.version})" if verbose? puts(line) end end def filtered_specs @filtered_specs ||= begin # start with all locally installed plugin gems regardless of the Gemfile content specs = LogStash::PluginManager.find_plugins_gem_specs # apply filters specs = specs.select{|spec| gemfile.find(spec.name)} if installed? specs = specs.select{|spec| spec.name =~ /#{plugin}/i} if plugin specs = specs.select{|spec| spec.metadata['logstash_group'] == group} if group specs end end end # class Logstash::PluginManager
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
logstash-core-1.5.0.rc3.snapshot3-java | lib/logstash/pluginmanager/list.rb |
logstash-core-1.5.0.rc3.snapshot2-java | lib/logstash/pluginmanager/list.rb |