我刚开始使用Rake而不是Make来构建我的项目,并希望使用某种“任务模板”来自动构建。
请考虑以下代码段:
task :test1 => ['1', '2']
task :test2 => ['3', '4']
Rake::Tasks.each do |task|
p task
p task.sources
end
输出结果为:
$ rake
<Rake::Task test1 => [1, 2]>
[]
<Rake::Task test2 => [3, 4]>
[]
我的问题是为什么task.sources
是[]
,这是错过的先决条件?提前谢谢。
答案 0 :(得分:1)
使用task.prerequisites
访问任务的先决条件。
task.sources
和task.source
仅用于根据rdocs中描述的规则构建的任务:http://ruby-doc.org/stdlib-2.1.2/libdoc/rake/rdoc/Rake/Task.html#method-i-source