0

私はレーキ0.8.7を使用しています

pma.zipというファイルを解凍する簡単なrakeタスクを実行したい

これが私の仕事です

task :unzip_pma do
  file "pma.txt" => "pma.zip" do
    sh "unzip pma.zip"
  end
end

pma.txtは、pma.zipが「解凍」されたファイルであると想定されています。つまり、pma.txtの作成は、pma.zipの存在に依存します。

ただし、rake unzip_pmaを実行すると、解凍が行われないため、構文が正しくないと思います。

rake unzip_pma -t -v
(in /Users/abdfadf/Desktop)
** Invoke unzip_pma (first_time)
** Execute unzip_pma

質問1.私は何が間違っているのですか。
質問2.rakeコマンドでトレースを実行したときに表示されるものよりも意味のある出力を取得する方法はありますか?

ありがとう!

4

1 に答える 1

2

生成されるファイルの名前task-name です。次に、そのタスク名を依存関係として別のタスクにフィードできます。次のようにレーキ タスクを定義してみてください。

file "pma.txt" => "pma.zip" do
  sh "unzip pma.zip"
end

task :unzip_pma => "pma.txt" do
  # Other actions can go here...
end

rakefile で上記を使用すると、次のコマンドを実行することもできます。

rake pma.txt

あるタスクを別のタスク内で強制的に実行したい場合 (依存関係ルールを使用する代わりに)、Rake::Task[:the_other_task].invoke

于 2010-12-13T22:48:26.027 に答える