class PluginManager
Public Instance Methods
Source
# File lib/ceedling/plugin_manager.rb, line 19 def load_programmatic_plugins(plugins, system_objects) environment = [] plugins.each do |hash| # Protect against instantiating object multiple times due to processing config multiple times (option files, etc) next if (@plugin_manager_helper.include?( @plugin_objects, hash[:plugin] ) ) msg = @reportinator.generate_progress( "Instantiating plugin class #{camelize( hash[:plugin] )}" ) @loginator.log( msg, Verbosity::OBNOXIOUS ) begin @system_wrapper.require_file( "#{hash[:plugin]}.rb" ) object = @plugin_manager_helper.instantiate_plugin( camelize( hash[:plugin] ), system_objects, hash[:plugin], hash[:root_path] ) @plugin_objects << object environment += object.environment # Add plugins to hash of all system objects system_objects[hash[:plugin].downcase().to_sym()] = object rescue @loginator.log( "Exception raised while trying to load plugin: #{hash[:plugin]}", Verbosity::ERRORS, LogLabels::EXCEPTION ) raise # Raise again for backtrace, etc. end end yield( { :environment => environment } ) if (environment.size > 0) end
Source
# File lib/ceedling/plugin_manager.rb, line 51 def plugins_failed? return (@build_fail_registry.size > 0) end
Source
# File lib/ceedling/plugin_manager.rb, line 107 def post_build; execute_plugins(:post_build); end
Source
# File lib/ceedling/plugin_manager.rb, line 88 def post_compile_execute(arg_hash); execute_plugins(:post_compile_execute, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 108 def post_error; execute_plugins(:post_error); end
Source
# File lib/ceedling/plugin_manager.rb, line 91 def post_link_execute(arg_hash); execute_plugins(:post_link_execute, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 82 def post_mock_generate(arg_hash); execute_plugins(:post_mock_generate, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 76 def post_mock_preprocess(arg_hash); execute_plugins(:post_mock_preprocess, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 104 def post_release; execute_plugins(:post_release); end
Source
# File lib/ceedling/plugin_manager.rb, line 85 def post_runner_generate(arg_hash); execute_plugins(:post_runner_generate, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 101 def post_test(test); execute_plugins(:post_test, test); end
Source
# File lib/ceedling/plugin_manager.rb, line 94 def post_test_fixture_execute(arg_hash) # Special arbitration: Raw test results are printed or taken over by plugins handling the job @loginator.log( arg_hash[:shell_result][:output] ) if @configurator.plugins_display_raw_test_results execute_plugins(:post_test_fixture_execute, arg_hash) end
Source
# File lib/ceedling/plugin_manager.rb, line 79 def post_test_preprocess(arg_hash); execute_plugins(:post_test_preprocess, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 106 def pre_build; execute_plugins(:pre_build); end
Source
# File lib/ceedling/plugin_manager.rb, line 87 def pre_compile_execute(arg_hash); execute_plugins(:pre_compile_execute, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 90 def pre_link_execute(arg_hash); execute_plugins(:pre_link_execute, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 81 def pre_mock_generate(arg_hash); execute_plugins(:pre_mock_generate, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 75 def pre_mock_preprocess(arg_hash); execute_plugins(:pre_mock_preprocess, arg_hash); end
execute all plugin methods ####
Source
# File lib/ceedling/plugin_manager.rb, line 103 def pre_release; execute_plugins(:pre_release); end
Source
# File lib/ceedling/plugin_manager.rb, line 84 def pre_runner_generate(arg_hash); execute_plugins(:pre_runner_generate, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 100 def pre_test(test); execute_plugins(:pre_test, test); end
Source
# File lib/ceedling/plugin_manager.rb, line 93 def pre_test_fixture_execute(arg_hash); execute_plugins(:pre_test_fixture_execute, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 78 def pre_test_preprocess(arg_hash); execute_plugins(:pre_test_preprocess, arg_hash); end
Source
# File lib/ceedling/plugin_manager.rb, line 55 def print_plugin_failures if (@build_fail_registry.size > 0) report = @reportinator.generate_banner('BUILD FAILURE SUMMARY') @build_fail_registry.each do |failure| report += "#{' - ' if (@build_fail_registry.size > 1)}#{failure}\n" end report += "\n" @loginator.log( report, Verbosity::ERRORS, LogLabels::NONE ) end end
Source
# File lib/ceedling/plugin_manager.rb, line 69 def register_build_failure(message) @build_fail_registry << message if (message and not message.empty?) end
Source
# File lib/ceedling/plugin_manager.rb, line 14 def setup @build_fail_registry = [] @plugin_objects = [] # List so we can preserve order end
Source
# File lib/ceedling/plugin_manager.rb, line 110 def summary; execute_plugins(:summary); end