class Rake::FileTask
FileTask
是一种包含基于时间的依赖关系的 Task。如果任何 FileTask 的前提条件的时间戳晚于此 Task 代表的文件的时间戳,则必须重建该文件(使用提供的动作)。
私有类方法
scope_name(scope, task_name) 点击切换源代码
根据此类 Task 的规则将 scope 应用于 Task 名称。基于文件的 Task 在创建名称时会忽略 scope。
# File rake-13.2.1/lib/rake/file_task.rb, line 53 def scope_name(scope, task_name) Rake.from_pathname(task_name) end
公共实例方法
needed?() 点击切换源代码
是否需要此文件 Task?如果它不存在,或者它的时间戳已过期,则需要。
# File rake-13.2.1/lib/rake/file_task.rb, line 16 def needed? begin out_of_date?(File.mtime(name)) || @application.options.build_all rescue Errno::ENOENT true end end
timestamp() 点击切换源代码
文件 Task 的时间戳。
# File rake-13.2.1/lib/rake/file_task.rb, line 25 def timestamp begin File.mtime(name) rescue Errno::ENOENT Rake::LATE end end
私有实例方法
out_of_date?(stamp) 点击切换源代码
是否存在任何前提条件的时间晚于给定时间戳?
# File rake-13.2.1/lib/rake/file_task.rb, line 36 def out_of_date?(stamp) all_prerequisite_tasks.any? { |prereq| prereq_task = application[prereq, @scope] if prereq_task.instance_of?(Rake::FileTask) prereq_task.timestamp > stamp || @application.options.build_all else prereq_task.timestamp > stamp end } end