如何使 rake 任务依赖于文件和另一个任务
How to make rake task dependent on file and another task
我有两个rake任务需要依赖一个文件,还有一个rake任务。这是我尝试过的:
task :dependencies do
# Install some pacman packages if necessary
end
# the :build task should be dependent on output.pdf and the dependencies task
task :build => [:dependencies, 'output.pdf']
# the file task should also be dependent on dependencies (in case it's run directly)
file 'output.pdf' => [:dependencies, 'output.md'] do
如何让一个文件任务依赖于另一个 rake 任务 以及 它的输入文件?另外,如何告诉一个常规任务依赖于一个文件任务和一个常规任务?
你的东西对我有用。没有输出我无法进一步诊断。
Rakefile:
task :dependencies do
puts "installing dependencies"
end
task build: ['dependencies', 'output.pdf']
file 'output.pdf' => ['dependencies', 'output.md'] do
File.write 'output.pdf', ''
end
运行 建造:
$ ls
Rakefile output.md
$ rake -t build
** Invoke build (first_time)
** Invoke dependencies (first_time)
** Execute dependencies
installing dependencies
** Invoke output.pdf (first_time)
** Invoke dependencies
** Invoke output.md (first_time, not_needed)
** Execute output.pdf
** Execute build
$ ls
Rakefile output.md output.pdf
运行 output.pdf:
$ rm output.pdf
$ rake -t output.pdf
** Invoke output.pdf (first_time)
** Invoke dependencies (first_time)
** Execute dependencies
installing dependencies
** Invoke output.md (first_time, not_needed)
** Execute output.pdf
$ ls
Rakefile output.md output.pdf
PS:Rake 不关心任务或依赖项名称中的符号与字符串。
我有两个rake任务需要依赖一个文件,还有一个rake任务。这是我尝试过的:
task :dependencies do
# Install some pacman packages if necessary
end
# the :build task should be dependent on output.pdf and the dependencies task
task :build => [:dependencies, 'output.pdf']
# the file task should also be dependent on dependencies (in case it's run directly)
file 'output.pdf' => [:dependencies, 'output.md'] do
如何让一个文件任务依赖于另一个 rake 任务 以及 它的输入文件?另外,如何告诉一个常规任务依赖于一个文件任务和一个常规任务?
你的东西对我有用。没有输出我无法进一步诊断。
Rakefile:
task :dependencies do
puts "installing dependencies"
end
task build: ['dependencies', 'output.pdf']
file 'output.pdf' => ['dependencies', 'output.md'] do
File.write 'output.pdf', ''
end
运行 建造:
$ ls
Rakefile output.md
$ rake -t build
** Invoke build (first_time)
** Invoke dependencies (first_time)
** Execute dependencies
installing dependencies
** Invoke output.pdf (first_time)
** Invoke dependencies
** Invoke output.md (first_time, not_needed)
** Execute output.pdf
** Execute build
$ ls
Rakefile output.md output.pdf
运行 output.pdf:
$ rm output.pdf
$ rake -t output.pdf
** Invoke output.pdf (first_time)
** Invoke dependencies (first_time)
** Execute dependencies
installing dependencies
** Invoke output.md (first_time, not_needed)
** Execute output.pdf
$ ls
Rakefile output.md output.pdf
PS:Rake 不关心任务或依赖项名称中的符号与字符串。