¿Hay una manera de ejecutar una tarea rastrillo sin correr los requisitos previos?

StackOverflow https://stackoverflow.com/questions/3733921

  •  03-10-2019
  •  | 
  •  

Pregunta

¿Hay un interruptor de línea de comandos que me falta?

En el momento que estoy teniendo que hacer esto:

#task :install => :build do
task :install do
end
¿Fue útil?

Solución

Me parece que han resuelto este problema mediante la simple adición de tareas adicionales en el formato "taskname_no_prerequisites". Así por ejemplo, en el código de abajo ejecutar "install_no_prerequisites rastrillo" que no causa "acumulación" para ser ejecutado.

desc "Build"
task :build do
  puts "BUILDING..."
end

desc "Install"
task :install => :build do
  puts "INSTALLING..."
end

Rake::Task::tasks.each do |task|
  desc "#{task} without prerequisites"
  task "#{task}_no_prerequisites".to_sym do
    task.invoke_without_prerequisites
  end
end

module Rake
  class Task
    def invoke_without_prerequisites
      execute
    end  
  end
end

Otros consejos

Si se define una dependencia de una tarea, siempre se ejecuta en primer lugar. Sin embargo, puede crear sus tareas de forma individual y luego agregar junto con otra tarea, como esto:

task :build do
  ... 
end

task :install do
  ...
end

task :go => [:build, :install]

y después puede llamar a la construcción o instalación de tareas de forma independiente, o ejecutar la secuencia con la tarea de viaje.

rake build
rake install
rake go

hago esto mucho, en realidad. que lo hace muy conveniente para mí para ejecutar los pasos individuales cuando quiero, y tienen la secuencia más larga de pasos cuando los necesito.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top