shortcut Environment#process if @targets is empty

This commit is contained in:
Josh Holtrop 2014-04-15 14:04:59 -04:00
parent 160434b903
commit a2653a77d1

View File

@ -175,29 +175,31 @@ module Rscons
cache = Cache.instance
cache.clear_checksum_cache!
targets_processed = {}
process_target = proc do |target|
targets_processed[target] ||= begin
@targets[target][:sources].each do |src|
if @targets.include?(src) and not targets_processed.include?(src)
process_target.call(src)
unless @targets.empty?
process_target = proc do |target|
targets_processed[target] ||= begin
@targets[target][:sources].each do |src|
if @targets.include?(src) and not targets_processed.include?(src)
process_target.call(src)
end
end
result = run_builder(@targets[target][:builder],
target,
@targets[target][:sources],
cache,
@targets[target][:vars] || {})
unless result
cache.write
raise BuildError.new("Failed to build #{target}")
end
result
end
result = run_builder(@targets[target][:builder],
target,
@targets[target][:sources],
cache,
@targets[target][:vars] || {})
unless result
cache.write
raise BuildError.new("Failed to build #{target}")
end
result
end
@targets.each do |target, target_params|
process_target.call(target)
end
cache.write
end
@targets.each do |target, target_params|
process_target.call(target)
end
cache.write
end
# Clear all targets registered for the Environment.