3

前提条件が既に満たされている場合でも、Rake でタスクの実行を強制する方法はありますか?

GNU/make の --always-make オプションに相当するものを探しています ( http://www.gnu.org/software/make/manual/make.html#Options-Summary )

Rakefile の例:

file "myfile.txt" do
    system "touch myfile.txt"
    puts "myfile.txt created"
end

--always-make オプションはどのように機能しますか:

# executing the rule for the first time creates a file:
$: rake myfile.txt 
myfile.txt created

# executing the rule a second time returns no output 
# because myfile.txt already exists and is up to date 
$: rake myfile.txt

# if the --always-make option is on, 
# the file is remade even if the prerequisites are met
$: rake myfile.txt --always-make
myfile.txt created

Rake バージョン 0.9.2.2 を実行していますが、--help ページと man ページにオプションが見つかりません。

4

1 に答える 1

2

正しく理解している場合は、 を使用してタスクを手動で実行できますRake::Task

task "foo" do
  puts "Doing something in foo"
end

task "bar" => "foo" do
  puts "Doing something in bar"
  Rake::Task["foo"].execute
end

を実行するrake barと、次のように表示されます。

Doing something in foo
Doing something in bar
Doing something in foo

を使用するRake::Taskと、前提条件をチェックせずに実行されます。これで問題が解決しない場合はお知らせください。

于 2012-06-11T13:17:27.603 に答える