2010-02-26 14 views

Répondre

9

Les fichiers Rake ne sont rien d'autre que les fichiers ruby. Il suffit donc de charger le fichier A contenant les autres tâches dans votre fichier B et elles seront disponibles lorsque B sera exécuté.

Par exemple, si vous mettez le code suivant dans votre Rakefile

Dir['tasks/*.rake'].each { |file| load(file) } 

alors vous pouvez créer autant de fichiers .rake dans le sous-dossier tasks et les appeler de la Rakefile principale.

+0

Yup. Je fais toujours ceci, pour a) garder un domaine par fichier (toutes les tâches liées à gem dans 'gem.rake', toutes les tâches liées aux tests dans' test.rake', toutes les tâches liées à la documentation dans 'doc.rake') et b) partagent des tâches communes entre différents projets (appelant RDoc, RSpec, RubyGems est vraiment le même, indépendant du projet spécifique). –

2

Je viens de faire quelque chose de similaire à ce qui suit:

task :master do 
    `rake slave` 
end 

task :slave do 
    puts "Hello World" 
end 

Peut-être un peu rudimentaire, mais il fait le travail.

+2

Je crois que cette stratégie, même si elle fonctionne, n'est pas idéale. Essayez plutôt: 'Rake :: Task [: 'slave']. Invoke' pour la tâche principale. –