method
attempt_rule
ruby latest stable - Class:
Rake::TaskManager
Method deprecated or moved
This method is deprecated or moved on the latest stable version. The last existing version (v2_2_9) is shown here.
attempt_rule(task_name, args, extensions, block, level)private
Attempt to create a rule given the list of prerequisites.
# File lib/rake/task_manager.rb, line 248
def attempt_rule(task_name, args, extensions, block, level)
sources = make_sources(task_name, extensions)
prereqs = sources.map { |source|
trace_rule level, "Attempting Rule #{task_name} => #{source}"
if File.exist?(source) || Rake::Task.task_defined?(source)
trace_rule level, "(#{task_name} => #{source} ... EXIST)"
source
elsif parent = enhance_with_matching_rule(source, level + 1)
trace_rule level, "(#{task_name} => #{source} ... ENHANCE)"
parent.name
else
trace_rule level, "(#{task_name} => #{source} ... FAIL)"
return nil
end
}
task = FileTask.define_task(task_name, {args => prereqs}, &block)
task.sources = prereqs
task
end Related methods
- Instance methods
- []
- clear
- create_rule
- current_scope
- define_task
- enhance_with_matching_rule
- in_namespace
- intern
- lookup
- resolve_args
- synthesize_file_task
- tasks
- tasks_in_scope
- Class methods
- new
- Private methods
-
add_location -
attempt_rule -
find_location -
generate_name -
get_description -
lookup_in_scope -
make_sources -
resolve_args_with_dependencies -
resolve_args_without_dependencies -
trace_rule