Question

Est-ce vraiment avantageux de passer de fourmi à Rake?

Quelqu'un a-t-il migré et a-t-il trouvé quelque chose de monumental?

FYI: l'environnement actuel est la génération Ant pour J2ME

Était-ce utile?

La solution

Je dirais que oui, mais mon point de vue est différent de celui des environnements Java, car je suis un environnement .NET. J'avais écrit et mis à jour un script de construction non trivial (nettoyer, générer, assembler, tester, couvrir, analyser, package) dans msbuild (effort NAnt piloté par XML de MS) et c'était très pénible:

  • XML n'est pas convivial; c'est très bruyant
  • Personne d'autre dans l'équipe n'était intéressé à l'apprendre au point de réaliser des automatisations plus nombreuses et plus utiles. facteur de bus si élevé (c'est-à-dire que si je suis frappé par un bus, ils sont coincés avec lui)
  • Cela ne se prêtait pas à la refactorisation ou à l'amélioration - c'était l'une de ces choses qui vous touchent au risque, vous savez?
  • Il fallait écrire des tâches personnalisées C # pour exécuter les divers outils nécessaires à la construction (bien que ce soit juste, ils sont souvent écrits par les vendeurs)

En une semaine de travail environ (je dois aimer les bureaux vides à Noël!), j'ai appris suffisamment de ruby ??+ rake pour remplacer le tout par un script plus court (en termes de LOC) avec une légère plus de fonctionnalités et plus de compréhensibilité (j'espère quand même; je ne les ai pas encore examinées).

Il bénéficie de:   - C'est une nouvelle langue, mais une vraie langue. Mes coéquipiers aiment apprendre de nouvelles langues, ce qui, même s’il s’agit d’une mince excuse, reste une excuse ;-) Cela pourrait atténuer le facteur autobus si j’ai raison.   - Capistrano, l'outil de déploiement automatisé / à distance / distribué du monde RoR, est très rapide (je suppose). En dépit d'être un magasin MS-stack, nous allons l'utiliser en combinaison avec IIS7 pour enfin avoir un outil de configuration CLI.

Alors, oui. Votre kilométrage peut varier, mais cela en valait la peine pour moi.

Autres conseils

Le rake est génial si vous voulez:

  • Accès à un vrai langage de programmation; les conditions et les boucles sont toutes simples, comparées à Ant (où elles sont presque impossibles)
  • Format de fichier facile à lire et vérifiable de la syntaxe
  • Affectation plus intuitive / prévisible des valeurs aux variables

Le rake est mauvais pour vous parce que:

  • Vous devez fournir vous-même de nombreuses tâches de base (telles que l'exécution de javac, la création de fichiers jar, etc.). Des projets tels que Raven pourraient aider, mais il semble axé sur le téléchargement automatique des dépendances et non sur l'automatisation de la création / du déploiement. processus. De plus, la documentation manque un peu.
  • La plupart des outils java pouvant être automatisés sont réalisés en tant que tâches Ant, qui ne peuvent pas être exécutées facilement à partir de Rake; le démarrage de la machine virtuelle Java peut être agaçant au moment de la construction

Vous pouvez également consulter buildr . C'est un outil de construction de plus haut niveau construit sur rake. À mon humble avis, il prend beaucoup de bonnes caractéristiques de Maven, et jette les mauvais. Je ne l'ai jamais utilisé moi-même, mais je connais des gens qui en sont très satisfaits.

Vous pouvez également consulter Gant si ant ne répond pas à vos besoins. Il ajoute une prise en charge complète des scripts à ant, mais vous permet de réutiliser vos tâches ant au besoin. Cela dépend vraiment de ce que vous n'aimez pas chez ant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top