Après avoir tapé pour la 42 millième fois -Dmaven.test.skip=true
après ma commande mvn
, j’en ai eu raz le bol.
J’ai donc regardé rapidement la doc de zsh
pour mettre un minimum de complétion sur cette commande. Voilà le résultat : il faut ajouter un fichier nommé _mvn
, exécutable, dans /usr/local/zsh/4.3.4/functions
Fichier :
#compdef mvn
_wanted maven expl 'maven2' compadd \
pre-clean clean post-clean validate generate-sources \
process-sources generate-resources process-resources \
compile process-classes generate-test-sources process-test-sources \
generate-test-resources process-test-resources test-compile \
process-test-classes test prepare-package package pre-integration-test \
integration-test post-integration-test verify install deploy \
pre-site site post-site site-deploy \
-Dmaven.test.skip=true \
-DskipTests \
-e \
eclipse:eclipse eclipse:clean \
dependency:list dependency:tree dependency:analyze \
archetype:generate \
cobertura:cobertura cobertura:clean \
checkstyle:checkstyle \
release:prepare release:perform
return 0
Après cela, il suffit de relancer le shell, et, miracle, quand on appuie sur
après avoir tapé mvn
, on a une liste de propositions !!!
Vous pouvez bien sur enrichir la liste de propositions. Si la liste n’est pas assez complète, on pourrais écrire un petit plugin Maven qui parcours le repo locale, et génère un fichier de complétion pour zsh
. Si vous êtes interessés, dites le moi.
Testé avec zsh 4.3.4, sous cygwin
5 commentaires sur “Maven & Zsh : de la complétion”
'Après avoir tapé pour la 42 milliéme fois -Dmaven.test.skip=true'
r???.... p? bien ça
;-)
Au moins ça veut dire qu'il y a des tests (même si ils ne sont pas optimisés) :-)
> Après avoir tapé pour la 42 milliéme fois -Dmaven.test.skip=true
Pareil, jusqu'à ce que je découvre -DskipTests, qui est beaucoup plus facile à taper !
maven.apache.org/plugins/...
Merci quand même pour le tuyau...
Il faut noter la différence entre les deux :
- skipTests supprime l'execution des TU.
- maven.test.skip supprime l'execution des TU ainsi que leur compilation.