# File lib/rake.rb, line 1667 1667: def enhance_with_matching_rule(task_name, level=0) 1668: fail Rake::RuleRecursionOverflowError, 1669: "Rule Recursion Too Deep" if level >= 16 1670: @rules.each do |pattern, extensions, block| 1671: if md = pattern.match(task_name) 1672: task = attempt_rule(task_name, extensions, block, level) 1673: return task if task 1674: end 1675: end 1676: nil 1677: rescue Rake::RuleRecursionOverflowError => ex 1678: ex.add_target(task_name) 1679: fail ex 1680: end