web-dev-qa-db-ja.com

デフォルトのRakeタスクにRakeタスクを追加するにはどうすればよいですか?

どういうわけか、RspecとCucumberはそれを私のデフォルトのレーキタスクにします(私がそこに欲しいので問題ありません)。しかし、デフォルトのタスクにタスクを追加しようとしましたが、効果がありません。

デフォルトのrakeタスクにタスクを追加する適切な方法は何ですか?

32
Andrew

通常、Rakefileには次のようなものがあります。

task :default => [:spec]

このリストにタスクを追加するだけです。

45
davogones

davogenes からの答えは、非名前空間のrakeタスクに対して正しいです。

名前空間にデフォルトのタスクを設定する場合は、次の手順を実行する必要があります。

namespace :mynamespace do
  desc "This should be the default"
  task :mydefault do
    Do.something_by_default
  end

  desc "Another task in this namespace"
  task :other do
    Do.something
  end
end

desc "This is the default task of mynamespace"
task mynamespace: 'mynamespace:mydefault'

次に、rake mynamespace と同様 rake mynamespace:otherまたはrake mynamespace:mydefault

2
basiszwo