J'ai un Rakefile qui compile le projet de deux manières, selon la variable globale $build_type
, qui peut être :debug
ou :release
(les résultats vont dans des répertoires séparés):
task :build => [:some_other_tasks] do
end
Je souhaite créer une tâche qui compile le projet à tour de rôle avec les deux configurations, quelque chose comme ceci:
task :build_all do
[ :debug, :release ].each do |t|
$build_type = t
# call task :build with all the tasks it depends on (?)
end
end
Existe-t-il un moyen d'appeler une tâche comme s'il s'agissait d'une méthode? Ou comment puis-je obtenir quelque chose de similaire?
Rake::Task["build"].invoke
peut être beaucoup plus performant que d'utiliser system rake build
car il n'a pas besoin de créer un nouveau thread et de charger l'environnement Rails, ce qui system rake build
doit être fait.