diff --git a/lib/comfpile/engines/parser_engine.rb b/lib/comfpile/engines/parser_engine.rb index c8ca188..da66e2b 100644 --- a/lib/comfpile/engines/parser_engine.rb +++ b/lib/comfpile/engines/parser_engine.rb @@ -110,10 +110,16 @@ module Comfpile log "Parsing completed, found #{param_count} parameters!" end - def sourcefile_dependency_step - included_artefacts = resolve_sourcefile find_parsed_parameters('include'), optional: true - required_artefacts = resolve_sourcefile find_parsed_parameters('require') - referenced_artefacts = resolve_sourcefile find_parsed_parameters('reference') + def sourcefile_dependency_step + ['include', 'require', 'reference'].map do |key| + key_artefacts = resolve_sourcefile(find_parsed_parameters(key), optional: key == 'include') + + @parsed_dependencies[key] = key_artefacts.map { |key| craft_artefact(:parsed, key) } + end + + log "Generated dependencies. #{@parsed_dependencies.map { |k, v| "#{k}: #{v.size}" }.join(', ')}." + end + end included_artefacts.each { |a| include_artefact :parsed, a, wait_if_exists: false } required_artefacts.each { |a| require_artefact :parsed, a, wait_if_exists: false }