Module: Gaudi::Tasks::TaskDependencies

Included in:
Build
Defined in:
lib/gaudi/helpers/generators.rb

Overview

Methods to calculate dependencies for the various task types

Instance Method Summary collapse

Instance Method Details

#component_task_dependencies(component, system_config) ⇒ Object

Returns the general dependencies for a Component task


18
19
20
21
22
23
24
25
26
27
# File 'lib/gaudi/helpers/generators.rb', line 18

def component_task_dependencies component,system_config
  deps=system_config.configuration_files
  deps+=component.configuration.configuration_files
  deps+=component.headers
  ###TODO: here any change in a dependency's interface header will trigger a build which slows incremental builds down.
  #The solution is to parse the code and add the dependencies per file
  #this is one more file task chain (obj->headers_info->c). Zukunftsmusik!
  component.dependencies.each{|dep| deps+=dep.interface }
  return deps.uniq
end

#object_task_dependencies(src, component, system_config) ⇒ Object

Returns the general dependencies for an object file task


29
30
31
# File 'lib/gaudi/helpers/generators.rb', line 29

def object_task_dependencies src,component,system_config
  [src]+component_task_dependencies(component,system_config)
end