Module | MCollective::PluginPackager |
In: |
lib/mcollective/pluginpackager.rb
lib/mcollective/pluginpackager/standard_definition.rb lib/mcollective/pluginpackager/agent_definition.rb |
# File lib/mcollective/pluginpackager.rb, line 12 12: def self.[](klass) 13: const_get("#{klass}") 14: end
Checks if a build tool is present on the system
# File lib/mcollective/pluginpackager.rb, line 52 52: def self.build_tool?(build_tool) 53: ENV["PATH"].split(File::PATH_SEPARATOR).each do |path| 54: builder = File.join(path, build_tool) 55: if File.exists?(builder) 56: return true 57: end 58: end 59: false 60: end
Checks if a directory is present and not empty
# File lib/mcollective/pluginpackager.rb, line 29 29: def self.check_dir_present(path) 30: (File.directory?(path) && !Dir.glob(File.join(path, "*")).empty?) 31: end
Quietly calls a block if verbose parameter is false
# File lib/mcollective/pluginpackager.rb, line 34 34: def self.do_quietly?(verbose, &block) 35: unless verbose 36: old_stdout = $stdout.clone 37: $stdout.reopen(File.new("/dev/null", "w")) 38: begin 39: block.call 40: rescue Exception => e 41: $stdout.reopen old_stdout 42: raise e 43: ensure 44: $stdout.reopen old_stdout 45: end 46: else 47: block.call 48: end 49: end
Fetch and return metadata from plugin DDL
# File lib/mcollective/pluginpackager.rb, line 17 17: def self.get_metadata(path, type) 18: ddl = DDL.new("package", type.to_sym, false) 19: begin 20: ddl_file = File.read(Dir.glob(File.join(path, type, "*.ddl")).first) 21: rescue Exception 22: raise "failed to load ddl file in plugin directory : #{File.join(path, type)}" 23: end 24: ddl.instance_eval ddl_file 25: ddl.meta 26: end
Package implementation plugins
# File lib/mcollective/pluginpackager.rb, line 8 8: def self.load_packagers 9: PluginManager.find_and_load("pluginpackager") 10: end