Class: TaskInvoker
Instance Attribute Summary collapse
-
#first_run ⇒ Object
Returns the value of attribute first_run.
Instance Method Summary collapse
- #add_release_task_regex(regex) ⇒ Object
- #add_test_task_regex(regex) ⇒ Object
- #invoke_release_dependencies_files(files) ⇒ Object
- #invoke_release_objects(objects) ⇒ Object
- #invoke_test_dependencies_files(files) ⇒ Object
- #invoke_test_executable(file) ⇒ Object
- #invoke_test_mocks(mocks) ⇒ Object
- #invoke_test_objects(objects) ⇒ Object
- #invoke_test_preprocessed_files(files) ⇒ Object
- #invoke_test_results(result) ⇒ Object
- #invoke_test_runner(runner) ⇒ Object
- #invoke_test_shallow_include_lists(files) ⇒ Object
- #invoked?(regex) ⇒ Boolean
- #release_invoked? ⇒ Boolean
- #reset_rake_task_for_changed_defines(file) ⇒ Object
- #setup ⇒ Object
- #test_invoked? ⇒ Boolean
Instance Attribute Details
#first_run ⇒ Object
Returns the value of attribute first_run.
5 6 7 |
# File 'lib/ceedling/task_invoker.rb', line 5 def first_run @first_run end |
Instance Method Details
#add_release_task_regex(regex) ⇒ Object
19 20 21 |
# File 'lib/ceedling/task_invoker.rb', line 19 def add_release_task_regex(regex) @release_regexs << regex end |
#add_test_task_regex(regex) ⇒ Object
15 16 17 |
# File 'lib/ceedling/task_invoker.rb', line 15 def add_test_task_regex(regex) @test_regexs << regex end |
#invoke_release_dependencies_files(files) ⇒ Object
110 111 112 113 114 |
# File 'lib/ceedling/task_invoker.rb', line 110 def invoke_release_dependencies_files(files) par_map(PROJECT_COMPILE_THREADS, files) do |file| @rake_wrapper[file].invoke end end |
#invoke_release_objects(objects) ⇒ Object
116 117 118 119 120 |
# File 'lib/ceedling/task_invoker.rb', line 116 def invoke_release_objects(objects) par_map(PROJECT_COMPILE_THREADS, objects) do |object| @rake_wrapper[object].invoke end end |
#invoke_test_dependencies_files(files) ⇒ Object
86 87 88 89 90 91 92 |
# File 'lib/ceedling/task_invoker.rb', line 86 def invoke_test_dependencies_files(files) @dependinator.enhance_dependencies_dependencies( files ) par_map(PROJECT_COMPILE_THREADS, files) do |file| reset_rake_task_for_changed_defines( file ) @rake_wrapper[file].invoke end end |
#invoke_test_executable(file) ⇒ Object
101 102 103 |
# File 'lib/ceedling/task_invoker.rb', line 101 def invoke_test_executable(file) @rake_wrapper[file].invoke end |
#invoke_test_mocks(mocks) ⇒ Object
56 57 58 59 60 61 62 |
# File 'lib/ceedling/task_invoker.rb', line 56 def invoke_test_mocks(mocks) @dependinator.enhance_mock_dependencies( mocks ) mocks.each { |mock| reset_rake_task_for_changed_defines( mock ) @rake_wrapper[mock].invoke } end |
#invoke_test_objects(objects) ⇒ Object
94 95 96 97 98 99 |
# File 'lib/ceedling/task_invoker.rb', line 94 def invoke_test_objects(objects) par_map(PROJECT_COMPILE_THREADS, objects) do |object| reset_rake_task_for_changed_defines( object ) @rake_wrapper[object].invoke end end |
#invoke_test_preprocessed_files(files) ⇒ Object
78 79 80 81 82 83 84 |
# File 'lib/ceedling/task_invoker.rb', line 78 def invoke_test_preprocessed_files(files) @dependinator.enhance_preprocesed_file_dependencies( files ) par_map(PROJECT_COMPILE_THREADS, files) do |file| reset_rake_task_for_changed_defines( file ) @rake_wrapper[file].invoke end end |
#invoke_test_results(result) ⇒ Object
105 106 107 108 |
# File 'lib/ceedling/task_invoker.rb', line 105 def invoke_test_results(result) @dependinator.enhance_results_dependencies( result ) @rake_wrapper[result].invoke end |
#invoke_test_runner(runner) ⇒ Object
64 65 66 67 68 |
# File 'lib/ceedling/task_invoker.rb', line 64 def invoke_test_runner(runner) @dependinator.enhance_runner_dependencies( runner ) reset_rake_task_for_changed_defines( runner ) @rake_wrapper[runner].invoke end |
#invoke_test_shallow_include_lists(files) ⇒ Object
70 71 72 73 74 75 76 |
# File 'lib/ceedling/task_invoker.rb', line 70 def invoke_test_shallow_include_lists(files) @dependinator.enhance_shallow_include_lists_dependencies( files ) par_map(PROJECT_COMPILE_THREADS, files) do |file| reset_rake_task_for_changed_defines( file ) @rake_wrapper[file].invoke end end |
#invoked?(regex) ⇒ Boolean
45 46 47 |
# File 'lib/ceedling/task_invoker.rb', line 45 def invoked?(regex) return @rake_utils.task_invoked?(regex) end |
#release_invoked? ⇒ Boolean
34 35 36 37 38 39 40 41 42 43 |
# File 'lib/ceedling/task_invoker.rb', line 34 def release_invoked? invoked = false @release_regexs.each do |regex| invoked = true if (@rake_utils.task_invoked?(regex)) break if invoked end return invoked end |
#reset_rake_task_for_changed_defines(file) ⇒ Object
49 50 51 52 53 54 |
# File 'lib/ceedling/task_invoker.rb', line 49 def reset_rake_task_for_changed_defines(file) if !(file =~ /#{VENDORS_FILES.map{|ignore| '\b' + ignore.ext(File.extname(file)) + '\b'}.join('|')}$/) @rake_wrapper[file].clear_actions if @first_run == false && @project_config_manager.test_defines_changed @rake_wrapper[file].reenable if @first_run == false && @project_config_manager.test_defines_changed end end |
#setup ⇒ Object
9 10 11 12 13 |
# File 'lib/ceedling/task_invoker.rb', line 9 def setup @test_regexs = [/^#{TEST_ROOT_NAME}:/] @release_regexs = [/^#{RELEASE_ROOT_NAME}(:|$)/] @first_run = true end |
#test_invoked? ⇒ Boolean
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/ceedling/task_invoker.rb', line 23 def test_invoked? invoked = false @test_regexs.each do |regex| invoked = true if (@rake_utils.task_invoked?(regex)) break if invoked end return invoked end |