Class: ProjectConfigManager
- Defined in:
- lib/ceedling/project_config_manager.rb
Instance Attribute Summary collapse
-
#config_hash ⇒ Object
Returns the value of attribute config_hash.
-
#options_files ⇒ Object
readonly
Returns the value of attribute options_files.
-
#release_config_changed ⇒ Object
readonly
Returns the value of attribute release_config_changed.
-
#test_config_changed ⇒ Object
readonly
Returns the value of attribute test_config_changed.
-
#test_defines_changed ⇒ Object
readonly
Returns the value of attribute test_defines_changed.
Instance Method Summary collapse
- #filter_internal_sources(sources) ⇒ Object
- #merge_options(config_hash, option_filepath) ⇒ Object
- #process_release_config_change ⇒ Object
- #process_test_config_change ⇒ Object
- #process_test_defines_change(files) ⇒ Object
- #setup ⇒ Object
Instance Attribute Details
#config_hash ⇒ Object
Returns the value of attribute config_hash.
7 8 9 |
# File 'lib/ceedling/project_config_manager.rb', line 7 def config_hash @config_hash end |
#options_files ⇒ Object (readonly)
Returns the value of attribute options_files.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def @options_files end |
#release_config_changed ⇒ Object (readonly)
Returns the value of attribute release_config_changed.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def release_config_changed @release_config_changed end |
#test_config_changed ⇒ Object (readonly)
Returns the value of attribute test_config_changed.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def test_config_changed @test_config_changed end |
#test_defines_changed ⇒ Object (readonly)
Returns the value of attribute test_defines_changed.
6 7 8 |
# File 'lib/ceedling/project_config_manager.rb', line 6 def test_defines_changed @test_defines_changed end |
Instance Method Details
#filter_internal_sources(sources) ⇒ Object
26 27 28 29 30 31 |
# File 'lib/ceedling/project_config_manager.rb', line 26 def filter_internal_sources(sources) filtered_sources = sources.clone filtered_sources.delete_if { |item| item =~ /#{CMOCK_MOCK_PREFIX}.+#{Regexp.escape(EXTENSION_SOURCE)}$/ } filtered_sources.delete_if { |item| item =~ /#{VENDORS_FILES.map{|source| '\b' + Regexp.escape(source.ext(EXTENSION_SOURCE)) + '\b'}.join('|')}$/ } return filtered_sources end |
#merge_options(config_hash, option_filepath) ⇒ Object
20 21 22 23 |
# File 'lib/ceedling/project_config_manager.rb', line 20 def (config_hash, option_filepath) @options_files << File.basename( option_filepath ) config_hash.deep_merge!( @yaml_wrapper.load( option_filepath ) ) end |
#process_release_config_change ⇒ Object
33 34 35 36 |
# File 'lib/ceedling/project_config_manager.rb', line 33 def process_release_config_change # has project configuration changed since last release build @release_config_changed = @cacheinator.diff_cached_release_config?( @config_hash ) end |
#process_test_config_change ⇒ Object
39 40 41 42 |
# File 'lib/ceedling/project_config_manager.rb', line 39 def process_test_config_change # has project configuration changed since last test build @test_config_changed = @cacheinator.diff_cached_test_config?( @config_hash ) end |
#process_test_defines_change(files) ⇒ Object
44 45 46 47 48 49 50 51 |
# File 'lib/ceedling/project_config_manager.rb', line 44 def process_test_defines_change(files) # has definitions changed since last test build @test_defines_changed = @cacheinator.diff_cached_test_defines?( files ) if @test_defines_changed # update timestamp for rake task prerequisites @file_wrapper.touch( @configurator.project_test_force_rebuild_filepath, :mtime => Time.now + 10 ) end end |
#setup ⇒ Object
12 13 14 15 16 17 |
# File 'lib/ceedling/project_config_manager.rb', line 12 def setup @options_files = [] @release_config_changed = false @test_config_changed = false @test_defines_changed = false end |