April 22, 2010

skip any rake dependency

Here is an easy way to skip a rake dependency:

rake skip[taskname] othertask


The following code makes that possible:

desc 'Skip task in parameter if it is found to be a dependency'
task :skip, :task do |t, args|
task_name = args[:task]
Rake::Task.tasks.each do |t|
t.prerequisites.reject!{|prerequisite| prerequisite == task_name}
end
end