Infinimaven, anyone ?

Il y a quelques temps, Infinitest avait créé la sensation (j'aimerais éviter de parler de buzz, ça fait trop mot-valise d'importation) en montrant comment l'exécution de tests rapides pouvait rendre un IDE infiniment plus puissant qu'un simple outil de compilation. C'était une bonne idée, qui se heurte maintenant à deux inconvénients majeurs :
  1. Infinitest est lié à l'IDE. C'est-à-dire que si les développeurs d'Infinitest n'aiment pas votre IDE, ou ne savent pas adapter leur super produit à votre IDE, vous êtes dans la mouise (développeurs utilisant NetBeans, je compatis).
  2. Infinitest est payant. Et moi, le payant, j'aime pas ça. Enfin, quand ça commence par être payant, ça ne me dérange pas, mais un produit qui devient subitement gratuit, ça me … comment dire …)
Cela dit, je l'avais testé et trouvé vraiment pratique. Et avant-hier, pendant que je travaillais sur mon projet "secret", je me suis dit que ce serait bien pratique de faire du test continu sur mon code Groovy … Donc j'ai farfouillé un peu. Et je me suis dit que, puisque je lançai déjà mes tests unitaires avec maven, pourquoi ne pas lui demander de devenir un Infinitest en ligne de commande ?
Après tout, l'outil de build de Scala fait déjà ça, non ?
Et sans doute que d'autres en font autant …
Alors pourquoi ça n'existe pas pour maven ?
A mon avis, il y a plusieurs raisons à ça
  • la longueur typique des builds Java. Il n'y a qu'à écouter le dernier épisode des castcodeurs pour se rendre compte que ça ne dérange apparemment pas grand monde de mettre 20 minutes à builder une librairie. Cela dit, tout le monde ne semble pas apprécier cet apparent consensus.
  • Le temps de démarrage rédhibitoire de maven (forcément, comme à chaque fois il rebâtit le monde depuis Object, c'est un peu longuet à se lancer).
  • L'absence pendant longtemps d'un moyen de le charger et de le garder en mémoire (mis à part évidement maven-cli-plugin, que je n'ai bien sûr jamais utilisé, essentiellement parce que je lançais maven avec M2Eclipse, à ce propos, j'ai découvert tout récemment qu'une console maven existait déjà en maven 1).
Heureusement, maven 3 est censé être plus rapide (je l'ai téléchargé, mais pas encore installé, ce que je vais d'ailleurs faire cet après-midi), et il existe à nouveau une console "officielle". Ce qui résoud à peu prés deux des problèmes. Cependant, il manque encore un moyen de faire de la triggered execution. Comment faire ? Est-ce qu'un plugin pourrait faire ça ? Est-ce qu'un plugin fait déjà ça mais que personne ne le connaît ? (à ce sujet, je trouve incroyable qu'il n'existe aucun équivalent de l'Eclipse plugin central : un site central recensant tous les plugins existant – ou les plus connus au moins – pour maven. Je crois vraiment que ça rendrait service à plus d'un développeur, non ?)
voilà donc l'état de mon questionnement.
Notez bien qu'à mon avis, écrire un plugin simpliste qui ferait ça ne me paraît pas, vu de loin, outrageusement complexe … surtout si, par exemple, le shell maven est extensible (ce qu'il ne peut qu'être, connaissant la maven way). Cela dit, c'est comme tout, il faut un peu de la matière la plus précieuse dans cet univers : du temps. Et ça, j'en ai vraiment trop peu pour mes projets en cours sans en rajouter d'autres … Dommage, c'aurait été marrant à coder. Cela dit, si quelqu'un a la moindre idée d'un début de piste, je suis archi-preneur.
Publicités

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s