path: root/lib/rake/doc/glossary.rdoc
diff options
authorzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-10 05:26:34 +0000
committerzzak <zzak@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-02-10 05:26:34 +0000
commit2bfa96ec848f9c8e27006776be17e2f818e58761 (patch)
tree8ff9893e9b9f59a2f42ce1c2f70f60c7e86f6d66 /lib/rake/doc/glossary.rdoc
parenta00c92f7fc5bb4b3f50e600da1280f0ed456bb22 (diff)
* doc/rake/, lib/rake/doc/: Move Rake rdoc files to lib/rake
git-svn-id: svn+ssh:// b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rake/doc/glossary.rdoc')
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/rake/doc/glossary.rdoc b/lib/rake/doc/glossary.rdoc
new file mode 100644
index 0000000..a811764
--- /dev/null
+++ b/lib/rake/doc/glossary.rdoc
@@ -0,0 +1,51 @@
+= Glossary
+ Code to be executed in order to perform a task. Actions in a
+ rakefile are specified in a code block (usually delimited by
+ +do+/+end+ pairs.
+ When a task is executed, all of its actions are performed, in
+ the order they were defined. Note that unlike
+ <tt>invoke</tt>, <tt>execute</tt> always executes the actions
+ (without invoking or executing the prerequisites).
+[<b>file task</b> (FileTask)]
+ A file task is a task whose purpose is to create a file
+ (which has the same name as the task). When invoked, a file
+ task will only execute if one or more of the following
+ conditions are true.
+ 1. The associated file does not exist.
+ 2. A prerequisite has a later time stamp than the existing file.
+ Because normal Tasks always have the current time as
+ timestamp, a FileTask that has a normal Task prerequisite
+ will always execute.
+ When a task is invoked, first we check to see if it has been
+ invoked before. if it has been, then nothing else is done.
+ If this is the first time its been invoked, then we invoke
+ each of its prerequisites. Finally, we check to see if we
+ need to execute the actions of this task by calling
+ <tt>needed?</tt>. Finally, if the task is needed, we execute
+ its actions.
+ NOTE: Currently prerequisites are invoked even if the task is
+ not needed. This may change in the future.
+ Every task has a set (possibly empty) of prerequisites. A
+ prerequisite P to Task T is itself a task that must be invoked
+ before Task T.
+ A rule is a recipe for synthesizing a task when no task is
+ explicitly defined. Rules generally synthesize file tasks.
+[<b>task</b> (Task)]
+ Basic unit of work in a rakefile. A task has a name, a set of
+ prerequisites and a list of actions to be performed.