web-dev-qa-db-fra.com

Qu'est-ce que Rake exactement?

En termes simples, que fait Rake? À quoi sert-il? Je comprends que c'est un outil de construction mais je regarde un peu plus en détail. (Pour un simpleton.)

75
Skip

Essayez l'article de Martin Fowler sur Rake pour plus d'informations:

http://martinfowler.com/articles/rake.html

Son préambule est:

Rake est un langage de construction, dont le but est similaire à make et ant. Comme make et ant, c'est un langage spécifique au domaine, contrairement à ces deux, c'est un DSL interne programmé dans le langage Ruby. Dans cet article, j'introduis rake et décris certaines choses intéressantes qui sont sorties de mon utilisation de rake pour construire ce site web: modèles de dépendances, tâches synthétisées, routines de build personnalisées et débogage du script de build.

Il y a aussi plus d'informations disponibles sur ou liées à partir de la page d'accueil du projet:

http://rake.rubyforge.org/

52
David M

Ces réponses supposent que vous savez ce qu'est une DSL, ou que vous connaissez Make ou Ant. Si ce n'est pas le cas, voici une (réponse peut-être grossièrement simplifiée):

Rake est un outil que vous pouvez utiliser avec les projets Ruby . Il vous permet d'utiliser Ruby code pour définir des "tâches" qui peuvent être exécutées dans la ligne de commande.

Le râteau peut être téléchargé et inclus dans Ruby projets en tant que Ruby gem.

Une fois installé, vous définissez les tâches dans un fichier nommé " Rakefile " que vous ajoutez à votre projet.

Nous l'appelons un "outil de construction" car Rake est livré avec quelques bibliothèques qui facilitent les tâches courantes pendant le processus de construction/déploiement, comme opérations sur les fichiers (création, suppression, changement de nom et déplacement fichiers), publier des sites via FTP / SSH , et en cours d'exécution tests .

Pour plus d'informations, voici la documentation du projet: http://rake.rubyforge.org/

72
bryanbraun

Rake est une implémentation de programmation déclarative basée sur les dépendances dans le Ruby Programming Language . Fondamentalement, Rake est à Ruby ce que Make est à C, avec la différence notable, que Make est un externe DSL , tandis que Rake est une DSL interne.

11
Jörg W Mittag

Rake vous permet d'exécuter Ruby code via une belle API d'espace de noms. Un exemple est rake db: migrate. Vous pouvez exécuter des tâches automatiquement avant et après d'autres tâches. C'est tout.

8
August Lilleaas