Jestem nowy w Rake i używam go do budowania projektów .net. Interesuje mnie zadanie Podsumowania, które drukuje podsumowanie tego, co zostało zrobione. Chcę, aby to zadanie zawsze było wywoływane, bez względu na to, jakie prowizje zostały wywołane.Jak wykonać zadanie rake po wszystkich innych zadaniach? (to jest zadanie Rake AfterBuild)
Czy istnieje prosty sposób na osiągnięcie tego?
Dzięki
Aktualizacja na pytanie, odpowiadając na Patrick's answer czego chcę to po zadaniu uruchomić raz po wszystkich innych zadań, więc wyjście chcę jest:
task :test1 do
puts 'test1'
end
task :test2 do
puts 'test2'
end
Rake::Task.tasks.each do |t|
<Insert rake magic here>
# t.enhance do
# puts 'after'
# end
end
$ rake test1
test1
after
$rake test2
test2
after
$rake test1 test2
test1
test2
after
i Jeśli nie ma nagród, wszelka dalsza pomoc jest doceniana. (Sadily Nie sądzę, że mogę zaoferować inną nagrodę.)
WSPANIAŁE! To jest dokładnie to, czego chcę. Chciałbym wiedzieć, co tu się dzieje. Czy możesz dać mi więcej informacji o tym, co się dzieje? W międzyczasie zobaczę, co mogę znaleźć w Google. – Chasler
OK. Rozumiem, co się dzieje. Dobra robota. Dzięki. – Chasler
Pewnie. Na marginesie, jestem na konferencji i wyśledziłem Jima Weiricha (autora rake), aby sprawdzić, czy to najlepszy sposób na rozwiązanie problemu. Jego odpowiedzią było to, że Rake nie ma wbudowanego sposobu, aby to zrobić, ale jest otwarty na łatkę, jeśli ktoś może wymyślić uogólnioną metodę robienia tego. Tak więc kod: Aplikacja Rake ma czytnik do śledzenia zadań do wykonania o nazwie "top_level_tasks". Ponieważ jest to tylko odczyt, musimy go przeczytać, zaktualizować, a następnie użyć parametru instance_variable_set, aby ponownie wprowadzić zmiany do aplikacji. Jeśli był czytany, napiszmy to wszystko w jednym wierszu. –