lib/teapot/configuration.rb
# Process all import directives and return a new configuration based on the current configuration. Import directives bring packages and other import directives from the specififed configuration definition.
Process all import directives and return a new configuration based on the current configuration. Import directives bring packages and other import directives from the specififed configuration definition.
Process all import directives and return a new configuration based on the current configuration . Import directives bring packages and other import directives from the specififed configuration definition .
def traverse(configurations, imported = Build::Dependency::Set.new, &block)
			yield self 
			@imports.each do |import|
				next if imported.include?(import)
				imported << import
				if configuration = configurations[import.name]
					configuration.traverse(configurations, imported, &block)
				end
			end
		end
def traverse ( configurations , imported = Build :: Dependency :: Set . new , & block ) yield self @imports . each do | import | next if imported . include? ( import ) imported << import if configuration = configurations [ import . name ] configuration . traverse ( configurations , imported , & block ) end end end
Process all import directives and return a new configuration based on the current configuration.
Process all import directives and return a new configuration based on the current configuration .
# Whatever happens here, should ensure that... # So we don't get into some crazy cycle: # Mark it as being imported: # ... by here, the configuration is available:
configurations
imported
new
block