# File lib/rake.rb, line 320 320: def enhance_with_matching_rule(task_name, level=0) 321: fail Rake::RuleRecursionOverflowError, 322: "Rule Recursion Too Deep" if level >= 16 323: RULES.each do |pattern, extensions, block| 324: if md = pattern.match(task_name) 325: task = attempt_rule(task_name, extensions, block, level) 326: return task if task 327: end 328: end 329: nil 330: rescue Rake::RuleRecursionOverflowError => ex 331: ex.add_target(task_name) 332: fail ex 333: end