J'ai un système de construction qui se compose de plusieurs sous-répertoires avec des projets, où dans chacun d'eux il y a un rakiefile séparé (ou un couple de rakefiles). Non le répertoire de premier niveau a un fichier rake qui traverse tous les sous-répertoires et appelle rake via: system ("rake"), obtient les paquets résultants et les envoie à la machine appropriée. Y a-t-il une façon plus élégante de le faire? J'ai essayé Rake.application.load() mais cela ne semble pas accepter n'importe quel argument quant à quel fichier doit être chargé (comme je l'ai mentionné parfois il y a 2 rakefiles dans chaque sous-répertoire),Rake multicoupe
Répondre
Ok, je solution qui est basée sur ce que knoopx dit. Voici mon fichier maître:
task :default do
FileList["*/**/rakefile*.rb"].each do |project|
# clear current tasks
Rake::Task.clear
#load tasks from this project
load project
if !Rake::Task.task_defined?(:default)
puts "No default task defined in #{project}, aborting!"
exit -1
else
dir = project.pathmap("%d")
Dir.chdir(dir) do
default_task = Rake::Task[:default]
default_task.invoke()
end
end
end
puts "Done building projects"
end
Chaque sous-répertoire dans le sous-répertoire doit contenir la définition de la tâche par défaut.
une nouvelle Rakefile à la racine de votre grand projet et charger dynamiquement votre sous-projet Rakefiles
Dir.glob(File.join(File.dirname(__FILE__), '**', 'Rakefile')).each do |tasks|
load tasks
end
Ce problème est partiellement résolu. Je suis capable d'appeler des tâches à partir d'autres fichiers mais il semble que les dépendances ne sont pas traitées. Donc, avoir le fichier principal, avec votre code qui appelle sous rakefile avec tâche: default =>: foo tâche: foo faire met "foo" fin tâche "foo" est pas appelé – paszczi
- 1. Installation rake
- 2. Test Rake Tasks
- 3. Test Rake échoue
- 4. Routes Rake project_attachment_path
- 5. Rake db: migration abandonnée
- 6. Rake pour .NET
- 7. Gems Rake Erreur d'installation
- 8. Rake avortant avec erreur
- 9. Débogueur RubyMine avec Rake?
- 10. Contexte Rake Tâche Aide
- 11. Rake ne démarre pas
- 12. rake test et test_structure.sql
- 13. rake: commande introuvable
- 14. rake a avorté l'aide
- 15. Rake stats et le concombre
- 16. Ruby Threads (Rake) pour FTP
- 17. Rake Task: gestion des erreurs
- 18. Rake: tâche équivalente dans Django
- 19. séquençage Script Shell avec Rake
- 20. Vous voulez migrer vers Rake?
- 21. Projet First Rails: Rake Problème
- 22. Padrino avec mysql, rake échoue
- 23. Automatisation de rake doc: app
- 24. Rake on Rails 3 problème
- 25. comment utiliser rake db: migrer
- 26. RVM, Merb, Rake et RSpec
- 27. rake db: migrate produit une erreur "rake avorté! Impossible à trouver"
- 28. Dans Rails 2.x, quelle est la différence entre "rake gems: unpack" et "rake gems: freeze"?
- 29. Comment puis-je modifier/étendre un fichier rake à partir d'un autre fichier rake?
- 30. Lorsque je lance rake db: create, Erreur rake annulé! Concurrence constante non initialisée
Related https://stackoverflow.com/questions/28238838/rakefile-to-process-multiple-projects –