# File lib/rake.rb, line 1781 1781: def enhance_with_matching_rule(task_name, level=0) 1782: fail Rake::RuleRecursionOverflowError, 1783: "Rule Recursion Too Deep" if level >= 16 1784: @rules.each do |pattern, extensions, block| 1785: if md = pattern.match(task_name) 1786: task = attempt_rule(task_name, extensions, block, level) 1787: return task if task 1788: end 1789: end 1790: nil 1791: rescue Rake::RuleRecursionOverflowError => ex 1792: ex.add_target(task_name) 1793: fail ex 1794: end