ceedling 0.0.16 → 0.0.17

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. data/lib/ceedling/version.rb +2 -2
  2. data/lib/ceedling/version.rb.erb +1 -1
  3. data/new_project_template/vendor/ceedling/lib/{build_invoker_helper.rb → build_invoker_utils.rb} +2 -2
  4. data/new_project_template/vendor/ceedling/lib/configurator.rb +56 -25
  5. data/new_project_template/vendor/ceedling/lib/configurator_builder.rb +20 -4
  6. data/new_project_template/vendor/ceedling/lib/constants.rb +3 -0
  7. data/new_project_template/vendor/ceedling/lib/defaults.rb +13 -2
  8. data/new_project_template/vendor/ceedling/lib/file_system_utils.rb +10 -0
  9. data/new_project_template/vendor/ceedling/lib/flaginator.rb +54 -0
  10. data/new_project_template/vendor/ceedling/lib/generator.rb +30 -9
  11. data/new_project_template/vendor/ceedling/lib/objects.yml +9 -5
  12. data/new_project_template/vendor/ceedling/lib/plugin.rb +23 -8
  13. data/new_project_template/vendor/ceedling/lib/plugin_manager.rb +14 -9
  14. data/new_project_template/vendor/ceedling/lib/preprocessinator_helper.rb +1 -1
  15. data/new_project_template/vendor/ceedling/lib/release_invoker.rb +9 -9
  16. data/new_project_template/vendor/ceedling/lib/release_invoker_helper.rb +2 -2
  17. data/new_project_template/vendor/ceedling/lib/rules_preprocess.rake +1 -1
  18. data/new_project_template/vendor/ceedling/lib/rules_release.rake +1 -1
  19. data/new_project_template/vendor/ceedling/lib/{rules_release_aux_dependencies.rake → rules_release_deep_dependencies.rake} +0 -0
  20. data/new_project_template/vendor/ceedling/lib/{rules_tests_aux_dependencies.rake → rules_tests_deep_dependencies.rake} +0 -0
  21. data/new_project_template/vendor/ceedling/lib/tasks_release.rake +14 -16
  22. data/new_project_template/vendor/ceedling/lib/tasks_release_deep_dependencies.rake +9 -0
  23. data/new_project_template/vendor/ceedling/lib/tasks_tests.rake +2 -7
  24. data/new_project_template/vendor/ceedling/lib/tasks_tests_deep_dependencies.rake +9 -0
  25. data/new_project_template/vendor/ceedling/lib/test_invoker.rb +20 -6
  26. data/new_project_template/vendor/ceedling/lib/test_invoker_helper.rb +2 -2
  27. data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rake +2 -2
  28. data/new_project_template/vendor/ceedling/plugins/bullseye/bullseye.rb +5 -4
  29. data/new_project_template/vendor/ceedling/plugins/gcov/gcov.rake +2 -2
  30. data/new_project_template/vendor/ceedling/plugins/stdout_ide_tests_report/stdout_ide_tests_report.rb +1 -1
  31. data/new_project_template/vendor/ceedling/plugins/stdout_pretty_tests_report/stdout_pretty_tests_report.rb +1 -1
  32. data/new_project_template/vendor/ceedling/plugins/xml_tests_report/xml_tests_report.rb +1 -1
  33. data/new_project_template/vendor/ceedling/release/build.info +1 -1
  34. metadata +13 -8
@@ -2,10 +2,10 @@
2
2
  module Ceedling
3
3
  module Version
4
4
  # @private
5
- GEM = "0.0.16"
5
+ GEM = "0.0.17"
6
6
 
7
7
  # @private
8
- CEEDLING = "0.9.200"
8
+ CEEDLING = "0.9.212"
9
9
  # @private
10
10
  CEXCEPTION = "1.2.17"
11
11
  # @private
@@ -2,7 +2,7 @@
2
2
  module Ceedling
3
3
  module Version
4
4
  # @private
5
- GEM = "0.0.16"
5
+ GEM = "0.0.17"
6
6
 
7
7
  # @private
8
8
  CEEDLING = "<%= versions["CEEDLING"] %>"
@@ -1,7 +1,7 @@
1
1
  require 'constants'
2
2
 
3
3
 
4
- class BuildInvokerHelper
4
+ class BuildInvokerUtils
5
5
 
6
6
  constructor :configurator, :streaminator
7
7
 
@@ -13,7 +13,7 @@ class BuildInvokerHelper
13
13
 
14
14
  @streaminator.stderr_puts( error_header )
15
15
 
16
- if (@configurator.project_use_auxiliary_dependencies)
16
+ if (@configurator.project_use_deep_dependencies)
17
17
  help_message = "Try fixing #include statements or adding missing file. Then run '#{REFRESH_TASK_ROOT}#{context.to_s}' task and try again."
18
18
  @streaminator.stderr_puts( help_message )
19
19
  end
@@ -71,11 +71,11 @@ class Configurator
71
71
 
72
72
  @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_TEST )
73
73
  @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_TEST_PREPROCESSORS ) if (config[:project][:use_test_preprocessor])
74
- @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_TEST_DEPENDENCIES ) if (config[:project][:use_auxiliary_dependencies])
74
+ @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_TEST_DEPENDENCIES ) if (config[:project][:use_deep_dependencies])
75
75
 
76
76
  @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_RELEASE ) if (config[:project][:release_build])
77
77
  @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_RELEASE_ASSEMBLER ) if (config[:project][:release_build] and config[:release_build][:use_assembly])
78
- @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_RELEASE_DEPENDENCIES ) if (config[:project][:release_build] and config[:project][:use_auxiliary_dependencies])
78
+ @configurator_builder.populate_defaults( config, DEFAULT_TOOLS_RELEASE_DEPENDENCIES ) if (config[:project][:release_build] and config[:project][:use_deep_dependencies])
79
79
  end
80
80
 
81
81
 
@@ -110,10 +110,12 @@ class Configurator
110
110
  @cmock_builder.manufacture(cmock)
111
111
  end
112
112
 
113
+
113
114
  def get_runner_config
114
115
  @runner_config
115
116
  end
116
117
 
118
+
117
119
  # grab tool names from yaml and insert into tool structures so available for error messages
118
120
  # set up default values
119
121
  def tools_setup(config)
@@ -134,6 +136,7 @@ class Configurator
134
136
  end
135
137
  end
136
138
 
139
+
137
140
  def tools_supplement_arguments(config)
138
141
  tools_name_prefix = 'tools_'
139
142
  config[:tools].each_key do |name|
@@ -150,8 +153,10 @@ class Configurator
150
153
  end
151
154
  end
152
155
 
156
+
153
157
  def find_and_merge_plugins(config)
154
- # plugins must be loaded before generic path evaluation & magic that happen later: perform path magic here as discrete step
158
+ # plugins must be loaded before generic path evaluation & magic that happen later;
159
+ # perform path magic here as discrete step
155
160
  config[:plugins][:load_paths].each do |path|
156
161
  path.replace(@system_wrapper.module_eval(path)) if (path =~ RUBY_STRING_REPLACEMENT_PATTERN)
157
162
  FilePathUtils::standardize(path)
@@ -188,7 +193,7 @@ class Configurator
188
193
  interstitial = ((key == :path) ? File::PATH_SEPARATOR : '')
189
194
  items = ((value.class == Array) ? hash[key] : [value])
190
195
 
191
- items.map { |item| item.replace( @system_wrapper.module_eval( item ) ) if (item =~ RUBY_STRING_REPLACEMENT_PATTERN) }
196
+ items.each { |item| item.replace( @system_wrapper.module_eval( item ) ) if (item =~ RUBY_STRING_REPLACEMENT_PATTERN) }
192
197
  hash[key] = items.join( interstitial )
193
198
 
194
199
  @system_wrapper.env_set( key.to_s.upcase, hash[key] )
@@ -197,38 +202,47 @@ class Configurator
197
202
 
198
203
 
199
204
  def eval_paths(config)
200
- # [:plugins]:load_paths] already handled
201
- individual_paths = [
205
+ # [:plugins]:[load_paths] already handled
206
+
207
+ paths = [ # individual paths that don't follow convention processed below
202
208
  config[:project][:build_root],
203
- config[:project][:options_paths]]
204
-
205
- individual_paths.flatten.each do |path|
206
- path.replace(@system_wrapper.module_eval(path)) if (path =~ RUBY_STRING_REPLACEMENT_PATTERN)
207
- end
208
-
209
- config[:paths].each_pair do |key, list|
210
- list.each { |path_entry| path_entry.replace(@system_wrapper.module_eval(path_entry)) if (path_entry =~ RUBY_STRING_REPLACEMENT_PATTERN) }
211
- end
209
+ config[:release_build][:artifacts]]
210
+
211
+ eval_path_list( paths )
212
+
213
+ config[:paths].each_pair { |collection, paths| eval_path_list( paths ) }
214
+
215
+ config[:files].each_pair { |collection, files| eval_path_list( paths ) }
216
+
217
+ # all other paths at secondary hash key level processed by convention:
218
+ # ex. [:toplevel][:foo_path] & [:toplevel][:bar_paths] are evaluated
219
+ config.each_pair { |parent, child| eval_path_list( collect_path_list( child ) ) }
212
220
  end
213
221
 
214
222
 
215
223
  def standardize_paths(config)
216
- # [:plugins]:load_paths] already handled
217
- individual_paths = [
224
+ # [:plugins]:[load_paths] already handled
225
+
226
+ paths = [ # individual paths that don't follow convention processed below
218
227
  config[:project][:build_root],
219
- config[:project][:options_paths],
220
- config[:cmock][:mock_path]] # cmock path in case it was explicitly set in config
228
+ config[:release_build][:artifacts]]
221
229
 
222
- individual_paths.flatten.each { |path| FilePathUtils::standardize(path) }
230
+ paths.flatten.each { |path| FilePathUtils::standardize( path ) }
223
231
 
224
- config[:paths].each_pair do |key, list|
225
- list.each{|path| FilePathUtils::standardize(path)}
232
+ config[:paths].each_pair do |collection, paths|
233
+ paths.each{|path| FilePathUtils::standardize( path )}
226
234
  # ensure that list is an array (i.e. handle case of list being a single string)
227
- config[:paths][key] = [list].flatten
235
+ config[:paths][collection] = [paths].flatten
228
236
  end
229
237
 
230
- config[:tools].each_pair do |key, tool_config|
231
- FilePathUtils::standardize(tool_config[:executable])
238
+ config[:files].each_pair { |collection, files| files.each{ |path| FilePathUtils::standardize( path ) } }
239
+
240
+ config[:tools].each_pair { |tool, config| FilePathUtils::standardize( config[:executable] ) }
241
+
242
+ # all other paths at secondary hash key level processed by convention:
243
+ # ex. [:toplevel][:foo_path] & [:toplevel][:bar_paths] are standardized
244
+ config.each_pair do |parent, child|
245
+ collect_path_list( child ).each { |path| FilePathUtils::standardize( path ) }
232
246
  end
233
247
  end
234
248
 
@@ -295,4 +309,21 @@ class Configurator
295
309
  end
296
310
  end
297
311
 
312
+ ### private ###
313
+
314
+ private
315
+
316
+ def collect_path_list( container )
317
+ paths = []
318
+ container.each_key { |key| paths << container[key] if (key.to_s =~ /_path(s)?$/) } if (container.class == Hash)
319
+ return paths.flatten
320
+ end
321
+
322
+ def eval_path_list( paths )
323
+ paths.flatten.each do |path|
324
+ path.replace( @system_wrapper.module_eval( path ) ) if (path =~ RUBY_STRING_REPLACEMENT_PATTERN)
325
+ end
326
+ end
327
+
328
+
298
329
  end
@@ -150,10 +150,12 @@ class ConfiguratorBuilder
150
150
 
151
151
  out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_cmock.rake') if (in_hash[:project_use_mocks])
152
152
  out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_preprocess.rake') if (in_hash[:project_use_test_preprocessor])
153
- out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_tests_aux_dependencies.rake') if (in_hash[:project_use_auxiliary_dependencies])
153
+ out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_tests_deep_dependencies.rake') if (in_hash[:project_use_deep_dependencies])
154
+ out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'tasks_tests_deep_dependencies.rake') if (in_hash[:project_use_deep_dependencies])
154
155
 
155
- out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_release_aux_dependencies.rake') if (in_hash[:project_release_build] and in_hash[:project_use_auxiliary_dependencies])
156
+ out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_release_deep_dependencies.rake') if (in_hash[:project_release_build] and in_hash[:project_use_deep_dependencies])
156
157
  out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'rules_release.rake') if (in_hash[:project_release_build])
158
+ out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'tasks_release_deep_dependencies.rake') if (in_hash[:project_release_build] and in_hash[:project_use_deep_dependencies])
157
159
  out_hash[:project_rakefile_component_files] << File.join(CEEDLING_LIB, 'tasks_release.rake') if (in_hash[:project_release_build])
158
160
 
159
161
  return out_hash
@@ -279,6 +281,8 @@ class ConfiguratorBuilder
279
281
  all_tests.include( File.join(path, "#{in_hash[:project_test_file_prefix]}*#{in_hash[:extension_source]}") )
280
282
  end
281
283
 
284
+ @file_system_utils.revise_file_list( all_tests, in_hash[:files_test] )
285
+
282
286
  return {:collection_all_tests => all_tests}
283
287
  end
284
288
 
@@ -292,6 +296,8 @@ class ConfiguratorBuilder
292
296
  all_assembly.include( File.join(path, "*#{in_hash[:extension_assembly]}") )
293
297
  end
294
298
 
299
+ @file_system_utils.revise_file_list( all_assembly, in_hash[:files_assembly] )
300
+
295
301
  return {:collection_all_assembly => all_assembly}
296
302
  end
297
303
 
@@ -303,6 +309,8 @@ class ConfiguratorBuilder
303
309
  all_source.include( File.join(path, "*#{in_hash[:extension_source]}") )
304
310
  end
305
311
 
312
+ @file_system_utils.revise_file_list( all_source, in_hash[:files_source] )
313
+
306
314
  return {:collection_all_source => all_source}
307
315
  end
308
316
 
@@ -316,9 +324,11 @@ class ConfiguratorBuilder
316
324
  in_hash[:collection_paths_source] +
317
325
  in_hash[:collection_paths_include]
318
326
 
319
- (paths).each do |path|
327
+ paths.each do |path|
320
328
  all_headers.include( File.join(path, "*#{in_hash[:extension_header]}") )
321
329
  end
330
+
331
+ @file_system_utils.revise_file_list( all_headers, in_hash[:files_include] )
322
332
 
323
333
  return {:collection_all_headers => all_headers}
324
334
  end
@@ -337,11 +347,17 @@ class ConfiguratorBuilder
337
347
  paths << FilePathUtils::form_ceedling_vendor_path(CEXCEPTION_LIB_PATH) if (in_hash[:project_use_exceptions])
338
348
  paths << FilePathUtils::form_ceedling_vendor_path(CMOCK_LIB_PATH) if (in_hash[:project_use_mocks])
339
349
 
340
- (paths).each do |path|
350
+ paths.each do |path|
341
351
  all_input.include( File.join(path, "*#{in_hash[:extension_header]}") )
342
352
  all_input.include( File.join(path, "*#{in_hash[:extension_source]}") )
343
353
  end
344
354
 
355
+ @file_system_utils.revise_file_list( all_input, in_hash[:files_test] )
356
+ @file_system_utils.revise_file_list( all_input, in_hash[:files_support] )
357
+ @file_system_utils.revise_file_list( all_input, in_hash[:files_source] )
358
+ @file_system_utils.revise_file_list( all_input, in_hash[:files_include] )
359
+ # finding assembly files handled explicitly through other means
360
+
345
361
  return {:collection_all_existing_compilation_input => all_input}
346
362
  end
347
363
 
@@ -76,6 +76,9 @@ UTILS_ROOT_NAME = 'utils'
76
76
  UTILS_TASK_ROOT = UTILS_ROOT_NAME + ':'
77
77
  UTILS_SYM = UTILS_ROOT_NAME.to_sym
78
78
 
79
+ OPERATION_COMPILE_SYM = :compile
80
+ OPERATION_LINK_SYM = :link
81
+
79
82
 
80
83
  RUBY_STRING_REPLACEMENT_PATTERN = /#\{.+\}/
81
84
  RUBY_EVAL_REPLACEMENT_PATTERN = /^\{(.+)\}$/
@@ -218,7 +218,7 @@ DEFAULT_CEEDLING_CONFIG = {
218
218
  :use_exceptions => true,
219
219
  :use_mocks => true,
220
220
  :use_test_preprocessor => false,
221
- :use_auxiliary_dependencies => false,
221
+ :use_deep_dependencies => false,
222
222
  :test_file_prefix => 'test_',
223
223
  :options_paths => [],
224
224
  :release_build => false,
@@ -226,7 +226,8 @@ DEFAULT_CEEDLING_CONFIG = {
226
226
 
227
227
  :release_build => {
228
228
  # :output is set while building configuration -- allows smart default system-dependent file extension handling
229
- :use_assembly => false,
229
+ :use_assembly => false,
230
+ :artifacts => [],
230
231
  },
231
232
 
232
233
  :paths => {
@@ -238,6 +239,14 @@ DEFAULT_CEEDLING_CONFIG = {
238
239
  :release_toolchain_include => [],
239
240
  },
240
241
 
242
+ :files => {
243
+ :test => [],
244
+ :source => [],
245
+ :assembly => [],
246
+ :support => [],
247
+ :include => [],
248
+ },
249
+
241
250
  # unlike other top-level entries, environment's value is an array to preserve order
242
251
  :environment => [
243
252
  # when evaluated, this provides wider text field for rake task comments
@@ -251,6 +260,8 @@ DEFAULT_CEEDLING_CONFIG = {
251
260
  :release_preprocess => [],
252
261
  },
253
262
 
263
+ :flags => {},
264
+
254
265
  :extension => {
255
266
  :header => '.h',
256
267
  :source => '.c',
@@ -56,4 +56,14 @@ class FileSystemUtils
56
56
  return (plus - minus).to_a.uniq
57
57
  end
58
58
 
59
+
60
+ # given a file list, add to it or remove from it
61
+ def revise_file_list(list, revisions)
62
+ revisions.each do |revision|
63
+ # include or exclude file or glob to file list
64
+ file = FilePathUtils.extract_path_no_aggregation_operators( revision )
65
+ FilePathUtils.add_path?(revision) ? list.include(file) : list.exclude(file)
66
+ end
67
+ end
68
+
59
69
  end
@@ -0,0 +1,54 @@
1
+ require 'rubygems'
2
+ require 'rake' # for ext()
3
+ require 'fileutils'
4
+ require 'constants'
5
+
6
+
7
+ # :flags:
8
+ # :release:
9
+ # :compile:
10
+ # :*: # add '-foo' to compilation of all files not main.c
11
+ # - -foo
12
+ # :main: # add '-Wall' to compilation of main.c
13
+ # - -Wall
14
+ # :test:
15
+ # :link:
16
+ # :test_main: # add '--bar --baz' to linking of test_main.exe
17
+ # - --bar
18
+ # - --baz
19
+
20
+
21
+ class Flaginator
22
+
23
+ constructor :configurator
24
+
25
+ def flag_down( operation, context, file )
26
+ # create configurator accessor method
27
+ accessor = ('flags_' + context.to_s).to_sym
28
+
29
+ # create simple filename key from whatever filename provided
30
+ file_key = File.basename( file ).ext('').to_sym
31
+
32
+ # if no entry in configuration for flags for this context, bail out
33
+ return [] if not @configurator.respond_to?( accessor )
34
+
35
+ # get flags sub hash associated with this context
36
+ flags = @configurator.send( accessor )
37
+
38
+ # if operation not represented in flags hash, bail out
39
+ return [] if not flags.include?( operation )
40
+
41
+ # redefine flags to sub hash associated with the operation
42
+ flags = flags[operation]
43
+
44
+ # if our file is in the flags hash, extract the array of flags
45
+ if (flags.include?( file_key )) then return flags[file_key]
46
+ # if our file isn't in the flags hash, but there is default for all other files, extract array of flags
47
+ elsif (flags.include?( :* )) then return flags[:*]
48
+ end
49
+
50
+ # fall through: flags were specified but none applying to present file
51
+ return []
52
+ end
53
+
54
+ end
@@ -3,7 +3,18 @@ require 'constants'
3
3
 
4
4
  class Generator
5
5
 
6
- constructor :configurator, :generator_helper, :preprocessinator, :cmock_builder, :generator_test_runner, :generator_test_results, :test_includes_extractor, :tool_executor, :file_finder, :file_path_utils, :streaminator, :plugin_manager, :file_wrapper
6
+ constructor :configurator,
7
+ :generator_helper,
8
+ :preprocessinator,
9
+ :cmock_builder,
10
+ :generator_test_runner,
11
+ :generator_test_results,
12
+ :flaginator,
13
+ :test_includes_extractor,
14
+ :tool_executor,
15
+ :file_finder,
16
+ :streaminator,
17
+ :plugin_manager
7
18
 
8
19
 
9
20
  def generate_shallow_includes_list(context, file)
@@ -30,21 +41,21 @@ class Generator
30
41
 
31
42
  def generate_mock(context, header_filepath)
32
43
  arg_hash = {:header_file => header_filepath, :context => context}
33
- @plugin_manager.pre_mock_execute(arg_hash)
44
+ @plugin_manager.pre_mock_generate( arg_hash )
34
45
 
35
46
  begin
36
47
  @cmock_builder.cmock.setup_mocks( arg_hash[:header_file] )
37
48
  rescue
38
49
  raise
39
50
  ensure
40
- @plugin_manager.post_mock_execute(arg_hash)
51
+ @plugin_manager.post_mock_generate( arg_hash )
41
52
  end
42
53
  end
43
54
 
44
55
  # test_filepath may be either preprocessed test file or original test file
45
56
  def generate_test_runner(context, test_filepath, runner_filepath)
46
57
  arg_hash = {:context => context, :test_file => test_filepath, :runner_file => runner_filepath}
47
- @plugin_manager.pre_runner_execute(arg_hash)
58
+ @plugin_manager.pre_runner_generate(arg_hash)
48
59
 
49
60
  # collect info we need
50
61
  module_name = File.basename(arg_hash[:test_file])
@@ -59,7 +70,7 @@ class Generator
59
70
  rescue
60
71
  raise
61
72
  ensure
62
- @plugin_manager.post_runner_execute(arg_hash)
73
+ @plugin_manager.post_runner_generate(arg_hash)
63
74
  end
64
75
  end
65
76
 
@@ -69,7 +80,12 @@ class Generator
69
80
  @plugin_manager.pre_compile_execute(arg_hash)
70
81
 
71
82
  @streaminator.stdout_puts("Compiling #{File.basename(arg_hash[:source])}...", Verbosity::NORMAL)
72
- command = @tool_executor.build_command_line(arg_hash[:tool], arg_hash[:source], arg_hash[:object], arg_hash[:list])
83
+ command =
84
+ @tool_executor.build_command_line( arg_hash[:tool],
85
+ arg_hash[:source],
86
+ arg_hash[:object],
87
+ arg_hash[:list],
88
+ @flaginator.flag_down( OPERATION_COMPILE_SYM, context, source ) )
73
89
 
74
90
  begin
75
91
  shell_result = @tool_executor.exec( command[:line], command[:options] )
@@ -88,7 +104,12 @@ class Generator
88
104
  @plugin_manager.pre_link_execute(arg_hash)
89
105
 
90
106
  @streaminator.stdout_puts("Linking #{File.basename(arg_hash[:executable])}...", Verbosity::NORMAL)
91
- command = @tool_executor.build_command_line(arg_hash[:tool], arg_hash[:objects], arg_hash[:executable], arg_hash[:map])
107
+ command =
108
+ @tool_executor.build_command_line( arg_hash[:tool],
109
+ arg_hash[:objects],
110
+ arg_hash[:executable],
111
+ arg_hash[:map],
112
+ @flaginator.flag_down( OPERATION_LINK_SYM, context, executable ) )
92
113
 
93
114
  begin
94
115
  shell_result = @tool_executor.exec( command[:line], command[:options] )
@@ -115,7 +136,7 @@ class Generator
115
136
 
116
137
  def generate_test_results(tool, context, executable, result)
117
138
  arg_hash = {:tool => tool, :context => context, :executable => executable, :result_file => result}
118
- @plugin_manager.pre_test_execute(arg_hash)
139
+ @plugin_manager.pre_test_fixture_execute(arg_hash)
119
140
 
120
141
  @streaminator.stdout_puts("Running #{File.basename(arg_hash[:executable])}...", Verbosity::NORMAL)
121
142
 
@@ -135,7 +156,7 @@ class Generator
135
156
  arg_hash[:results] = processed[:results]
136
157
  arg_hash[:shell_result] = shell_result # for raw output display if no plugins for formatted display
137
158
 
138
- @plugin_manager.post_test_execute(arg_hash)
159
+ @plugin_manager.post_test_fixture_execute(arg_hash)
139
160
  end
140
161
 
141
162
  end
@@ -169,6 +169,10 @@ task_invoker:
169
169
  - rake_utils
170
170
  - rake_wrapper
171
171
 
172
+ flaginator:
173
+ compose:
174
+ - configurator
175
+
172
176
  generator:
173
177
  compose:
174
178
  - configurator
@@ -177,13 +181,12 @@ generator:
177
181
  - cmock_builder
178
182
  - generator_test_runner
179
183
  - generator_test_results
184
+ - flaginator
180
185
  - test_includes_extractor
181
186
  - tool_executor
182
187
  - file_finder
183
- - file_path_utils
184
188
  - streaminator
185
189
  - plugin_manager
186
- - file_wrapper
187
190
 
188
191
  generator_helper:
189
192
  compose:
@@ -257,12 +260,13 @@ test_invoker:
257
260
  compose:
258
261
  - configurator
259
262
  - test_invoker_helper
260
- - build_invoker_helper
263
+ - plugin_manager
261
264
  - streaminator
262
265
  - preprocessinator
263
266
  - task_invoker
264
267
  - dependinator
265
268
  - project_config_manager
269
+ - build_invoker_utils
266
270
  - file_path_utils
267
271
  - file_wrapper
268
272
 
@@ -279,7 +283,7 @@ release_invoker:
279
283
  compose:
280
284
  - configurator
281
285
  - release_invoker_helper
282
- - build_invoker_helper
286
+ - build_invoker_utils
283
287
  - dependinator
284
288
  - task_invoker
285
289
  - file_path_utils
@@ -291,7 +295,7 @@ release_invoker_helper:
291
295
  - dependinator
292
296
  - task_invoker
293
297
 
294
- build_invoker_helper:
298
+ build_invoker_utils:
295
299
  compose:
296
300
  - configurator
297
301
  - streaminator
@@ -1,5 +1,7 @@
1
1
 
2
2
  class String
3
+ # reformat a multiline string to have given number of whitespace columns;
4
+ # helpful for formatting heredocs
3
5
  def left_margin(margin=0)
4
6
  non_whitespace_column = 0
5
7
  new_lines = []
@@ -40,23 +42,36 @@ class Plugin
40
42
 
41
43
  def setup; end
42
44
 
43
- def pre_build; end
44
-
45
- def pre_mock_execute(arg_hash); end
46
- def post_mock_execute(arg_hash); end
45
+ # mock generation
46
+ def pre_mock_generate(arg_hash); end
47
+ def post_mock_generate(arg_hash); end
47
48
 
48
- def pre_runner_execute(arg_hash); end
49
- def post_runner_execute(arg_hash); end
49
+ # test runner generation
50
+ def pre_runner_generate(arg_hash); end
51
+ def post_runner_generate(arg_hash); end
50
52
 
53
+ # compilation (test or source)
51
54
  def pre_compile_execute(arg_hash); end
52
55
  def post_compile_execute(arg_hash); end
53
56
 
57
+ # linking (test or source)
54
58
  def pre_link_execute(arg_hash); end
55
59
  def post_link_execute(arg_hash); end
56
60
 
57
- def pre_test_execute(arg_hash); end
58
- def post_test_execute(arg_hash); end
61
+ # test fixture execution
62
+ def pre_test_fixture_execute(arg_hash); end
63
+ def post_test_fixture_execute(arg_hash); end
64
+
65
+ # test task
66
+ def pre_test; end
67
+ def post_test; end
59
68
 
69
+ # release task
70
+ def pre_release; end
71
+ def post_release; end
72
+
73
+ # whole shebang (any use of Ceedling)
74
+ def pre_build; end
60
75
  def post_build; end
61
76
 
62
77
  def summary; end
@@ -52,13 +52,11 @@ class PluginManager
52
52
 
53
53
  #### execute all plugin methods ####
54
54
 
55
- def pre_build; execute_plugins(:pre_build); end
56
-
57
- def pre_mock_execute(arg_hash); execute_plugins(:pre_mock_execute, arg_hash); end
58
- def post_mock_execute(arg_hash); execute_plugins(:post_mock_execute, arg_hash); end
55
+ def pre_mock_generate(arg_hash); execute_plugins(:pre_mock_generate, arg_hash); end
56
+ def post_mock_generate(arg_hash); execute_plugins(:post_mock_generate, arg_hash); end
59
57
 
60
- def pre_runner_execute(arg_hash); execute_plugins(:pre_runner_execute, arg_hash); end
61
- def post_runner_execute(arg_hash); execute_plugins(:post_runner_execute, arg_hash); end
58
+ def pre_runner_generate(arg_hash); execute_plugins(:pre_runner_generate, arg_hash); end
59
+ def post_runner_generate(arg_hash); execute_plugins(:post_runner_generate, arg_hash); end
62
60
 
63
61
  def pre_compile_execute(arg_hash); execute_plugins(:pre_compile_execute, arg_hash); end
64
62
  def post_compile_execute(arg_hash); execute_plugins(:post_compile_execute, arg_hash); end
@@ -66,13 +64,20 @@ class PluginManager
66
64
  def pre_link_execute(arg_hash); execute_plugins(:pre_link_execute, arg_hash); end
67
65
  def post_link_execute(arg_hash); execute_plugins(:post_link_execute, arg_hash); end
68
66
 
69
- def pre_test_execute(arg_hash); execute_plugins(:pre_test_execute, arg_hash); end
70
- def post_test_execute(arg_hash)
67
+ def pre_test_fixture_execute(arg_hash); execute_plugins(:pre_test_fixture_execute, arg_hash); end
68
+ def post_test_fixture_execute(arg_hash)
71
69
  # special arbitration: raw test results are printed or taken over by plugins handling the job
72
70
  @streaminator.stdout_puts(arg_hash[:shell_result][:output]) if (@configurator.plugins_display_raw_test_results)
73
- execute_plugins(:post_test_execute, arg_hash)
71
+ execute_plugins(:post_test_fixture_execute, arg_hash)
74
72
  end
73
+
74
+ def pre_test; execute_plugins(:pre_test); end
75
+ def post_test; execute_plugins(:post_test); end
76
+
77
+ def pre_release; execute_plugins(:pre_release); end
78
+ def post_release; execute_plugins(:post_release); end
75
79
 
80
+ def pre_build; execute_plugins(:pre_build); end
76
81
  def post_build; execute_plugins(:post_build); end
77
82
 
78
83
  def summary; execute_plugins(:summary); end
@@ -36,7 +36,7 @@ class PreprocessinatorHelper
36
36
  private ############################
37
37
 
38
38
  def preprocess_files_smartly(file_list, preprocess_file_proc)
39
- if (@configurator.project_use_auxiliary_dependencies)
39
+ if (@configurator.project_use_deep_dependencies)
40
40
  @task_invoker.invoke_test_preprocessed_files(file_list)
41
41
  else
42
42
  file_list.each { |file| preprocess_file_proc.call( yield(file) ) }
@@ -3,19 +3,19 @@ require 'constants'
3
3
 
4
4
  class ReleaseInvoker
5
5
 
6
- constructor :configurator, :release_invoker_helper, :build_invoker_helper, :dependinator, :task_invoker, :file_path_utils, :file_wrapper
6
+ constructor :configurator, :release_invoker_helper, :build_invoker_utils, :dependinator, :task_invoker, :file_path_utils, :file_wrapper
7
7
 
8
8
 
9
9
  def setup_and_invoke_c_objects( c_files )
10
10
  objects = @file_path_utils.form_release_build_c_objects_filelist( c_files )
11
11
 
12
12
  begin
13
- @release_invoker_helper.process_auxiliary_dependencies( @file_path_utils.form_release_dependencies_filelist( c_files ) )
13
+ @release_invoker_helper.process_deep_dependencies( @file_path_utils.form_release_dependencies_filelist( c_files ) )
14
14
 
15
15
  @dependinator.enhance_release_file_dependencies( objects )
16
16
  @task_invoker.invoke_release_objects( objects )
17
17
  rescue => e
18
- @build_invoker_helper.process_exception( e, RELEASE_SYM, false )
18
+ @build_invoker_utils.process_exception( e, RELEASE_SYM, false )
19
19
  end
20
20
 
21
21
  return objects
@@ -29,29 +29,29 @@ class ReleaseInvoker
29
29
  @dependinator.enhance_release_file_dependencies( objects )
30
30
  @task_invoker.invoke_release_objects( objects )
31
31
  rescue => e
32
- @build_invoker_helper.process_exception( e, RELEASE_SYM, false )
32
+ @build_invoker_utils.process_exception( e, RELEASE_SYM, false )
33
33
  end
34
34
 
35
35
  return objects
36
36
  end
37
37
 
38
38
 
39
- def refresh_c_auxiliary_dependencies
40
- return if (not @configurator.project_use_auxiliary_dependencies)
39
+ def refresh_c_deep_dependencies
40
+ return if (not @configurator.project_use_deep_dependencies)
41
41
 
42
42
  @file_wrapper.rm_f(
43
43
  @file_wrapper.directory_listing(
44
44
  File.join( @configurator.project_release_dependencies_path, '*' + @configurator.extension_dependencies ) ) )
45
45
 
46
- @release_invoker_helper.process_auxiliary_dependencies(
46
+ @release_invoker_helper.process_deep_dependencies(
47
47
  @file_path_utils.form_release_dependencies_filelist(
48
48
  @configurator.collection_all_source ) )
49
49
  end
50
50
 
51
51
 
52
52
  def artifactinate( *files )
53
- files.each do |file|
54
- @file_wrapper.cp( file, @configurator.project_release_artifacts_path ) if @file_wrapper.exist?( file)
53
+ files.flatten.each do |file|
54
+ @file_wrapper.cp( file, @configurator.project_release_artifacts_path ) if @file_wrapper.exist?( file )
55
55
  end
56
56
  end
57
57
 
@@ -5,8 +5,8 @@ class ReleaseInvokerHelper
5
5
  constructor :configurator, :dependinator, :task_invoker
6
6
 
7
7
 
8
- def process_auxiliary_dependencies(dependencies_list)
9
- return if (not @configurator.project_use_auxiliary_dependencies)
8
+ def process_deep_dependencies(dependencies_list)
9
+ return if (not @configurator.project_use_deep_dependencies)
10
10
 
11
11
  @dependinator.enhance_release_file_dependencies( dependencies_list )
12
12
  @task_invoker.invoke_release_dependencies_files( dependencies_list )
@@ -8,7 +8,7 @@ rule(/#{PROJECT_TEST_PREPROCESS_FILES_PATH}\/.+/ => [
8
8
  @ceedling[:file_finder].find_test_or_source_or_header_file(task_name)
9
9
  end
10
10
  ]) do |file|
11
- if (not @ceedling[:configurator].project_use_auxiliary_dependencies)
11
+ if (not @ceedling[:configurator].project_use_deep_dependencies)
12
12
  raise 'ERROR: Ceedling preprocessing rule invoked though neccessary auxiliary dependency support not enabled.'
13
13
  end
14
14
  @ceedling[:generator].generate_preprocessed_file(TEST_SYM, file.source)
@@ -40,7 +40,7 @@ rule(/#{PROJECT_RELEASE_BUILD_TARGET}/) do |bin_file|
40
40
  bin_file.prerequisites,
41
41
  bin_file.name,
42
42
  map_file )
43
- @ceedling[:release_invoker].artifactinate( bin_file.name, map_file )
43
+ @ceedling[:release_invoker].artifactinate( bin_file.name, map_file, @ceedling[:configurator].release_build_artifacts )
44
44
  end
45
45
 
46
46
 
@@ -7,24 +7,22 @@ task RELEASE_SYM => [:directories] do
7
7
  header = "Release build '#{File.basename(PROJECT_RELEASE_BUILD_TARGET)}'"
8
8
  @ceedling[:streaminator].stdout_puts("\n\n#{header}\n#{'-' * header.length}")
9
9
 
10
- core_objects = []
11
- extra_objects = @ceedling[:file_path_utils].form_release_build_c_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS )
10
+ begin
11
+ @ceedling[:plugin_manager].pre_release
12
12
 
13
- @ceedling[:project_config_manager].process_release_config_change
14
- core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_c_objects( COLLECTION_ALL_SOURCE ) )
13
+ core_objects = []
14
+ extra_objects = @ceedling[:file_path_utils].form_release_build_c_objects_filelist( COLLECTION_RELEASE_ARTIFACT_EXTRA_LINK_OBJECTS )
15
+
16
+ @ceedling[:project_config_manager].process_release_config_change
17
+ core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_c_objects( COLLECTION_ALL_SOURCE ) )
15
18
 
16
- # if assembler use isn't enabled, COLLECTION_ALL_ASSEMBLY is empty array & nothing happens
17
- core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_asm_objects( COLLECTION_ALL_ASSEMBLY ) )
19
+ # if assembler use isn't enabled, COLLECTION_ALL_ASSEMBLY is empty array & nothing happens
20
+ core_objects.concat( @ceedling[:release_invoker].setup_and_invoke_asm_objects( COLLECTION_ALL_ASSEMBLY ) )
18
21
 
19
- file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects) )
20
- Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke
21
- end
22
-
23
-
24
- if PROJECT_USE_AUXILIARY_DEPENDENCIES
25
- namespace REFRESH_SYM do
26
- task RELEASE_SYM do
27
- @ceedling[:release_invoker].refresh_c_auxiliary_dependencies
22
+ file( PROJECT_RELEASE_BUILD_TARGET => (core_objects + extra_objects) )
23
+ Rake::Task[PROJECT_RELEASE_BUILD_TARGET].invoke
24
+ ensure
25
+ @ceedling[:plugin_manager].post_release
28
26
  end
29
27
  end
30
- end
28
+
@@ -0,0 +1,9 @@
1
+ require 'constants'
2
+
3
+ namespace REFRESH_SYM do
4
+
5
+ task RELEASE_SYM do
6
+ @ceedling[:release_invoker].refresh_c_deep_dependencies
7
+ end
8
+
9
+ end
@@ -1,3 +1,5 @@
1
+ require 'constants'
2
+
1
3
 
2
4
  namespace TEST_SYM do
3
5
 
@@ -48,10 +50,3 @@ namespace TEST_SYM do
48
50
 
49
51
  end
50
52
 
51
- if PROJECT_USE_AUXILIARY_DEPENDENCIES
52
- namespace REFRESH_SYM do
53
- task TEST_SYM do
54
- @ceedling[:test_invoker].refresh_auxiliary_dependencies
55
- end
56
- end
57
- end
@@ -0,0 +1,9 @@
1
+ require 'constants'
2
+
3
+ namespace REFRESH_SYM do
4
+
5
+ task TEST_SYM do
6
+ @ceedling[:test_invoker].refresh_deep_dependencies
7
+ end
8
+
9
+ end
@@ -5,7 +5,17 @@ class TestInvoker
5
5
 
6
6
  attr_reader :sources, :tests, :mocks
7
7
 
8
- constructor :configurator, :test_invoker_helper, :build_invoker_helper, :streaminator, :preprocessinator, :task_invoker, :dependinator, :project_config_manager, :file_path_utils, :file_wrapper
8
+ constructor :configurator,
9
+ :test_invoker_helper,
10
+ :plugin_manager,
11
+ :streaminator,
12
+ :preprocessinator,
13
+ :task_invoker,
14
+ :dependinator,
15
+ :project_config_manager,
16
+ :build_invoker_utils,
17
+ :file_path_utils,
18
+ :file_wrapper
9
19
 
10
20
  def setup
11
21
  @sources = []
@@ -24,7 +34,9 @@ class TestInvoker
24
34
  header = "Test '#{File.basename(test)}'"
25
35
  @streaminator.stdout_puts("\n\n#{header}\n#{'-' * header.length}")
26
36
 
27
- begin
37
+ begin
38
+ @plugin_manager.pre_test
39
+
28
40
  # collect up test fixture pieces & parts
29
41
  runner = @file_path_utils.form_runner_filepath_from_test( test )
30
42
  mock_list = @preprocessinator.preprocess_test_and_invoke_test_mocks( test )
@@ -39,7 +51,7 @@ class TestInvoker
39
51
  @test_invoker_helper.clean_results( {:pass => results_pass, :fail => results_fail}, options )
40
52
 
41
53
  # load up auxiliary dependencies so deep changes cause rebuilding appropriately
42
- @test_invoker_helper.process_auxiliary_dependencies( core ) do |dependencies_list|
54
+ @test_invoker_helper.process_deep_dependencies( core ) do |dependencies_list|
43
55
  @dependinator.load_test_object_deep_dependencies( dependencies_list )
44
56
  end
45
57
 
@@ -55,7 +67,9 @@ class TestInvoker
55
67
  # 3, 2, 1... launch
56
68
  @task_invoker.invoke_test_results( results_pass )
57
69
  rescue => e
58
- @build_invoker_helper.process_exception( e, context )
70
+ @build_invoker_utils.process_exception( e, context )
71
+ ensure
72
+ @plugin_manager.post_test
59
73
  end
60
74
 
61
75
  # store away what's been processed
@@ -71,12 +85,12 @@ class TestInvoker
71
85
  end
72
86
 
73
87
 
74
- def refresh_auxiliary_dependencies
88
+ def refresh_deep_dependencies
75
89
  @file_wrapper.rm_f(
76
90
  @file_wrapper.directory_listing(
77
91
  File.join( @configurator.project_test_dependencies_path, '*' + @configurator.extension_dependencies ) ) )
78
92
 
79
- @test_invoker_helper.process_auxiliary_dependencies(
93
+ @test_invoker_helper.process_deep_dependencies(
80
94
  @configurator.collection_all_tests + @configurator.collection_all_source )
81
95
  end
82
96
 
@@ -8,8 +8,8 @@ class TestInvokerHelper
8
8
  @file_wrapper.rm_f( results[:pass] ) if (options[:force_run])
9
9
  end
10
10
 
11
- def process_auxiliary_dependencies(files)
12
- return if (not @configurator.project_use_auxiliary_dependencies)
11
+ def process_deep_dependencies(files)
12
+ return if (not @configurator.project_use_deep_dependencies)
13
13
 
14
14
  dependencies_list = @file_path_utils.form_test_dependencies_filelist( files )
15
15
  @task_invoker.invoke_test_dependencies_files( dependencies_list )
@@ -140,11 +140,11 @@ namespace BULLSEYE_SYM do
140
140
 
141
141
  end
142
142
 
143
- if PROJECT_USE_AUXILIARY_DEPENDENCIES
143
+ if PROJECT_USE_DEEP_DEPENDENCIES
144
144
  namespace REFRESH_SYM do
145
145
  task BULLSEYE_SYM do
146
146
  @ceedling[:configurator].replace_flattened_config(@ceedling[BULLSEYE_SYM].config)
147
- @ceedling[:test_invoker].refresh_auxiliary_dependencies
147
+ @ceedling[:test_invoker].refresh_deep_dependencies
148
148
  @ceedling[:configurator].restore_config
149
149
  end
150
150
  end
@@ -53,7 +53,7 @@ class Bullseye < Plugin
53
53
  @ceedling[:plugin_manager].post_compile_execute(arg_hash)
54
54
  end
55
55
 
56
- def post_test_execute(arg_hash)
56
+ def post_test_fixture_execute(arg_hash)
57
57
  result_file = arg_hash[:result_file]
58
58
 
59
59
  if ((result_file =~ /#{BULLSEYE_RESULTS_PATH}/) and (not @result_list.include?(result_file)))
@@ -111,6 +111,7 @@ class Bullseye < Plugin
111
111
 
112
112
  def report_coverage_results_all(coverage)
113
113
  results = {
114
+ :header => BULLSEYE_ROOT_NAME.upcase,
114
115
  :coverage => {
115
116
  :functions => nil,
116
117
  :branches => nil
@@ -129,7 +130,7 @@ class Bullseye < Plugin
129
130
  end
130
131
 
131
132
  def report_per_function_coverage_results(sources)
132
- banner = @ceedling[:plugin_reportinator].generate_banner "#{BULLSEYE_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY"
133
+ banner = @ceedling[:plugin_reportinator].generate_banner( "#{BULLSEYE_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY" )
133
134
  @ceedling[:streaminator].stdout_puts "\n" + banner
134
135
 
135
136
  coverage_sources = sources.clone
@@ -153,9 +154,9 @@ class Bullseye < Plugin
153
154
 
154
155
  def verify_coverage_file
155
156
  exist = @ceedling[:file_wrapper].exist?( ENVIRONMENT_COVFILE )
156
-
157
+
157
158
  if (!exist)
158
- banner = @ceedling[:plugin_reportinator].generate_banner "#{BULLSEYE_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY"
159
+ banner = @ceedling[:plugin_reportinator].generate_banner( "#{BULLSEYE_ROOT_NAME.upcase}: CODE COVERAGE SUMMARY" )
159
160
  @ceedling[:streaminator].stdout_puts "\n" + banner + "\nNo coverage file.\n\n"
160
161
  end
161
162
 
@@ -140,11 +140,11 @@ namespace GCOV_SYM do
140
140
 
141
141
  end
142
142
 
143
- if PROJECT_USE_AUXILIARY_DEPENDENCIES
143
+ if PROJECT_USE_DEEP_DEPENDENCIES
144
144
  namespace REFRESH_SYM do
145
145
  task GCOV_SYM do
146
146
  @ceedling[:configurator].replace_flattened_config(@ceedling[GCOV_SYM].config)
147
- @ceedling[:test_invoker].refresh_auxiliary_dependencies
147
+ @ceedling[:test_invoker].refresh_deep_dependencies
148
148
  @ceedling[:configurator].restore_config
149
149
  end
150
150
  end
@@ -7,7 +7,7 @@ class StdoutIdeTestsReport < Plugin
7
7
  @result_list = []
8
8
  end
9
9
 
10
- def post_test_execute(arg_hash)
10
+ def post_test_fixture_execute(arg_hash)
11
11
  return if not (arg_hash[:context] == TEST_SYM)
12
12
 
13
13
  @result_list << arg_hash[:result_file]
@@ -11,7 +11,7 @@ class StdoutPrettyTestsReport < Plugin
11
11
  @ceedling[:plugin_reportinator].register_test_results_template( template )
12
12
  end
13
13
 
14
- def post_test_execute(arg_hash)
14
+ def post_test_fixture_execute(arg_hash)
15
15
  return if not (arg_hash[:context] == TEST_SYM)
16
16
 
17
17
  @result_list << arg_hash[:result_file]
@@ -8,7 +8,7 @@ class XmlTestsReport < Plugin
8
8
  @test_counter = 0
9
9
  end
10
10
 
11
- def post_test_execute(arg_hash)
11
+ def post_test_fixture_execute(arg_hash)
12
12
  context = arg_hash[:context]
13
13
 
14
14
  @results_list[context] = [] if (@results_list[context].nil?)
@@ -1 +1 @@
1
- 200
1
+ 212
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ceedling
3
3
  version: !ruby/object:Gem::Version
4
- hash: 63
4
+ hash: 61
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 16
10
- version: 0.0.16
9
+ - 17
10
+ version: 0.0.17
11
11
  platform: ruby
12
12
  authors:
13
13
  - Mike Karlesky, Mark VanderVoord
@@ -17,7 +17,8 @@ autorequire:
17
17
  bindir: bin
18
18
  cert_chain: []
19
19
 
20
- date: 2011-06-11 00:00:00 Z
20
+ date: 2011-07-06 00:00:00 -04:00
21
+ default_executable:
21
22
  dependencies:
22
23
  - !ruby/object:Gem::Dependency
23
24
  name: thor
@@ -168,7 +169,7 @@ files:
168
169
  - new_project_template/vendor/ceedling/docs/CMock Summary.pdf
169
170
  - new_project_template/vendor/ceedling/docs/Ceedling Packet.pdf
170
171
  - new_project_template/vendor/ceedling/docs/Unity Summary.pdf
171
- - new_project_template/vendor/ceedling/lib/build_invoker_helper.rb
172
+ - new_project_template/vendor/ceedling/lib/build_invoker_utils.rb
172
173
  - new_project_template/vendor/ceedling/lib/cacheinator.rb
173
174
  - new_project_template/vendor/ceedling/lib/cacheinator_helper.rb
174
175
  - new_project_template/vendor/ceedling/lib/cmock_builder.rb
@@ -185,6 +186,7 @@ files:
185
186
  - new_project_template/vendor/ceedling/lib/file_path_utils.rb
186
187
  - new_project_template/vendor/ceedling/lib/file_system_utils.rb
187
188
  - new_project_template/vendor/ceedling/lib/file_wrapper.rb
189
+ - new_project_template/vendor/ceedling/lib/flaginator.rb
188
190
  - new_project_template/vendor/ceedling/lib/generator.rb
189
191
  - new_project_template/vendor/ceedling/lib/generator_helper.rb
190
192
  - new_project_template/vendor/ceedling/lib/generator_test_results.rb
@@ -214,9 +216,9 @@ files:
214
216
  - new_project_template/vendor/ceedling/lib/rules_cmock.rake
215
217
  - new_project_template/vendor/ceedling/lib/rules_preprocess.rake
216
218
  - new_project_template/vendor/ceedling/lib/rules_release.rake
217
- - new_project_template/vendor/ceedling/lib/rules_release_aux_dependencies.rake
219
+ - new_project_template/vendor/ceedling/lib/rules_release_deep_dependencies.rake
218
220
  - new_project_template/vendor/ceedling/lib/rules_tests.rake
219
- - new_project_template/vendor/ceedling/lib/rules_tests_aux_dependencies.rake
221
+ - new_project_template/vendor/ceedling/lib/rules_tests_deep_dependencies.rake
220
222
  - new_project_template/vendor/ceedling/lib/setupinator.rb
221
223
  - new_project_template/vendor/ceedling/lib/stream_wrapper.rb
222
224
  - new_project_template/vendor/ceedling/lib/streaminator.rb
@@ -227,7 +229,9 @@ files:
227
229
  - new_project_template/vendor/ceedling/lib/tasks_base.rake
228
230
  - new_project_template/vendor/ceedling/lib/tasks_filesystem.rake
229
231
  - new_project_template/vendor/ceedling/lib/tasks_release.rake
232
+ - new_project_template/vendor/ceedling/lib/tasks_release_deep_dependencies.rake
230
233
  - new_project_template/vendor/ceedling/lib/tasks_tests.rake
234
+ - new_project_template/vendor/ceedling/lib/tasks_tests_deep_dependencies.rake
231
235
  - new_project_template/vendor/ceedling/lib/tasks_vendor.rake
232
236
  - new_project_template/vendor/ceedling/lib/test_includes_extractor.rb
233
237
  - new_project_template/vendor/ceedling/lib/test_invoker.rb
@@ -289,6 +293,7 @@ files:
289
293
  - new_project_template/vendor/ceedling/vendor/unity/src/unity.c
290
294
  - new_project_template/vendor/ceedling/vendor/unity/src/unity.h
291
295
  - new_project_template/vendor/ceedling/vendor/unity/src/unity_internals.h
296
+ has_rdoc: true
292
297
  homepage: http://throwtheswitch.org/
293
298
  licenses: []
294
299
 
@@ -318,7 +323,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
318
323
  requirements: []
319
324
 
320
325
  rubyforge_project: ceedling
321
- rubygems_version: 1.8.2
326
+ rubygems_version: 1.6.2
322
327
  signing_key:
323
328
  specification_version: 3
324
329
  summary: Gemified version of the Ceedling C testing / build environment