Class: Rake::FileTask
Relationships & Source Files | |
Extension / Inclusion / Inheritance Descendants | |
Subclasses:
|
|
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Task
|
|
Instance Chain:
self,
Task
|
|
Inherits: |
Rake::Task
|
Defined in: | lib/rake/file_task.rb |
Overview
A FileTask is a task that includes time based dependencies. If any of a FileTask's prerequisites have a timestamp that is later than the file represented by this task, then the file must be rebuilt (using the supplied actions).
Class Method Summary
-
.scope_name(scope, task_name)
Apply the scope to the task name according to the rules for this kind of task.
Task - Inherited
.[] | Return a task with the given name. |
.clear | Clear the task list. |
.create_rule | Define a rule for synthesizing tasks. |
.define_task | Define a task given |
.new | Create a task named |
.scope_name | Apply the scope to the task name according to the rules for this kind of task. |
.task_defined? | TRUE if the task name is already defined. |
.tasks | List of all defined tasks. |
Instance Attribute Summary
-
#needed? ⇒ Boolean
readonly
Is this file task needed? Yes if it doesn't exist, or if its time stamp is out of date.
Task - Inherited
#application | Application owning this task. |
#comment | First line (or sentence) of all comments. |
#sources, | |
#sources= | List of sources for task. |
#actions | List of actions attached to a task. |
#already_invoked | Has this task already been invoked? Already invoked tasks will be skipped unless you reenable them. |
#locations | File/Line locations of each of the task definitions for this task (only valid if the task was defined with the detect location option set). |
#needed? | Is this task needed? |
#prerequisites | List of prerequisites for a task. |
#scope | Array of nested namespaces names used for task lookup by this task. |
Instance Method Summary
-
#timestamp
Time stamp for file task.
-
#out_of_date?(stamp) ⇒ Boolean
private
Are there any prerequisites with a later time than the given time stamp?
Task - Inherited
#add_description | Add a description to the task. |
#all_prerequisite_tasks | List of all unique prerequisite tasks including prerequisite tasks' prerequisites. |
#arg_names | Name of arguments for this task. |
#clear | Clear the existing prerequisites, actions, comments, and arguments of a rake task. |
#clear_actions | Clear the existing actions on a rake task. |
#clear_args | Clear the existing arguments on a rake task. |
#clear_comments | Clear the existing comments on a rake task. |
#clear_prerequisites | Clear the existing prerequisites of a rake task. |
#enhance | Enhance a task with prerequisites or actions. |
#execute | Execute the actions associated with this task. |
#full_comment | Full collection of comments. |
#investigation | Return a string describing the internal state of a task. |
#invoke | Invoke the task if it is needed. |
#name | Name of the task, including any namespace qualifiers. |
#prerequisite_tasks | List of prerequisite tasks. |
#reenable | Reenable the task, allowing its tasks to be executed if the task is invoked again. |
#set_arg_names | Set the names of the arguments for this task. |
#source | First source from a rule (nil if no sources). |
#timestamp | Timestamp for this task. |
#to_s | Return task name. |
#first_sentence | Get the first sentence in a string. |
#format_trace_flags | Format the trace flags for display. |
#transform_comments | Transform the list of comments as specified by the block and join with the separator. |
Constructor Details
This class inherits a constructor from Rake::Task
Class Method Details
.scope_name(scope, task_name)
Apply the scope to the task name according to the rules for this kind of task. File based tasks ignore the scope when creating the name.
# File 'lib/rake/file_task.rb', line 41
def scope_name(scope, task_name) Rake.from_pathname(task_name) end
Instance Attribute Details
#needed? ⇒ Boolean
(readonly)
Is this file task needed? Yes if it doesn't exist, or if its time stamp is out of date.
# File 'lib/rake/file_task.rb', line 15
def needed? ! File.exist?(name) || out_of_date?( ) || @application. .build_all end
Instance Method Details
#out_of_date?(stamp) ⇒ Boolean
(private)
Are there any prerequisites with a later time than the given time stamp?
# File 'lib/rake/file_task.rb', line 31
def out_of_date?(stamp) @prerequisites.any? { |n| application[n, @scope]. > stamp } end
#timestamp
Time stamp for file task.