هل هناك طريقة لتشغيل مهمة أشعل النار دون تشغيل المتطلبات المسبقة؟
سؤال
هل هناك مفتاح سطر الأوامر الذي أفتقده؟
في الوقت الحالي ، يتعين علي القيام بذلك:
#task :install => :build do
task :install do
end
المحلول
يبدو أنني قمت بحل هذه المشكلة ببساطة عن طريق إضافة مهام إضافية بتنسيق "TaskName_NO_PRERENTESES". لذلك على سبيل المثال في الكود أدناه ، لن يتسبب تنفيذ "Rake Install_NO_PRERENTERESES" في تنفيذ "الإنشاء".
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
نصائح أخرى
إذا حددت الاعتماد على المهمة ، فسيتم تشغيله دائمًا أولاً. ومع ذلك ، يمكنك إنشاء مهامك بشكل فردي ثم تجميعها مع مهمة أخرى ، مثل هذه:
task :build do
...
end
task :install do
...
end
task :go => [:build, :install]
وبعد ذلك ، يمكنك استدعاء المهام أو تثبيتها بشكل مستقل ، أو تشغيل التسلسل مع مهمة GO.
rake build
rake install
rake go
أفعل هذا كثيرًا ، في الواقع. يجعل الأمر مناسبًا جدًا بالنسبة لي لتشغيل خطوات فردية عندما أرغب في ذلك ، والحصول على تسلسل أكبر من الخطوات عندما أحتاج إليها.
لا تنتمي إلى StackOverflow