词汇表¶ ↑
- 动作
-
为了执行任务而需要执行的代码。Rakefile 中的动作在代码块中指定。(通常以
do
/end
对分隔。) - 执行
-
当任务被执行时,它的所有动作都会按照它们被定义的顺序执行。请注意,与
invoke
不同,execute
始终执行动作(而无需调用或执行先决条件)。 - 文件任务 (
Rake::FileTask
) -
文件任务是一种旨在创建文件(该文件与任务同名)的任务。当被调用时,文件任务仅在以下一个或多个条件为真时执行。
-
关联的文件不存在。
-
先决条件的最后修改时间戳晚于现有文件。
因为普通任务始终将当前时间作为时间戳,所以具有普通任务先决条件的文件任务将始终执行。
-
- 调用
-
当任务被调用时,首先我们检查它是否之前被调用过。如果它之前被调用过,则不会执行任何其他操作。如果这是它第一次被调用,那么我们会调用它的每个先决条件。最后,我们通过调用
Rake::Task#needed?
来检查是否需要执行此任务的动作。如果需要该任务,则执行其动作。注意:即使不需要该任务,也会调用先决条件。
- 先决条件
-
每个任务都有一个(可能为空)的先决条件集合。任务 T 的先决条件 P 本身是一个必须在任务 T 之前调用的任务。
- 规则
-
规则是在未明确定义任务时合成任务的配方。规则通常合成文件任务。
- 任务 (
Rake::Task
) -
Rakefile 中的基本工作单元。任务具有名称、一组先决条件和要执行的动作列表。