Le meilleur moyen d’intégrer Git avec Ant?

Je cherche le meilleur moyen d’intégrer Git avec Ant. Existe-t-il une tâche Ant largement utilisée pour Git? Quelqu’un at-il une expérience d’utilisation de Git via Ant (par exemple, tâche dédiée, appel exec, etc.)?

Il ne semble pas y avoir eu un ensemble de tâches Ant pour Git.

Ce blog parle de certaines tâches rudimentaires pour travailler avec Git.

Ant prend en charge la commande exec que vous pouvez utiliser pour passer toute commande (y compris Git) à la ligne de commande pour exécution. Vous pouvez toujours y revenir.

Regardez JGit-Ant . Malheureusement, le projet de tâches jgit-ant ne contient pas toutes les principales actions git, vous pouvez trouver des informations supplémentaires ici .

Pour les développeurs Java: vous pouvez facilement écrire vous-même git-ant-commands avec jgit comme dans cet exemple .

Il semble qu’il y ait eu du travail supplémentaire non officiel sur les tâches Ant pour git:

Je n’ai pas d’expérience avec ceux-ci, mais ils semblent plus étoffés que ceux de Robinson.

Utilisez une combinaison de la bibliothèque JGit avec un code (j'ai utilisé Rhino lubrary mais vous pouvez également utiliser Groovy, etc.).

Il y a un certain temps, j’ai cherché sans succès des moyens prêts à utiliser pour intégrer Git et Ant. J’avais besoin de créer un build avec le nom de la twig Git. Finalement je suis arrivé à la solution suivante:

L’extrait du vrai build.xml :

      

Tout le contenu du fichier ./bin/git-branch-name.sh

 #!/bin/bash # This script is the part of integration GIT to ANT. Once launched it # should return the name of the current branch or the current commit (if # GIT is the detached HEAD mode). Further the printed name is appended to # the name of the resulting directory. To initialize this feature you need # to run ANT with the option "-Dusing.git=". exec 2>/dev/null git rev-parse --abbrev-ref HEAD | grep -v HEAD || git rev-parse HEAD 

L’invocation est similaire à:

 ant TARGET options -Dusing.git= 

Lorsque ${using.git} est déclaré, Ant appelle la tâche -check-git-branch-name pour collecter le nom d’une twig (ou le numéro d’un commit si Git est en mode détaché) et génère la construction avec le nom ajouté de la twig Git (ou le numéro de validation), par exemple build/TARGET-${git-branch-name} .