La meilleure façon d'intégrer Git avec Ant?

Je cherche la meilleure façon d'intégrer Git avec Ant. Existe-t-il une tâche Ant largement utilisée pour Git? Quelqu'un a-t-il de l'expérience en utilisant Git via Ant (par exemple, tâche dédiée, appel exec, etc.)?

46
demandé sur skaffman 2009-05-08 21:46:30

7 réponses

Ne semble pas qu'il y ait eu un ensemble de tâches Ant pour Git.

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

19
répondu Jon 2014-10-30 08:27:00

Ant prend en charge la commande exec que vous pouvez utiliser pour passer n'importe quelle commande (y compris Git) à la ligne de commande pour l'exécution. Vous pouvez toujours vous rabattre sur que.

22
répondu James Tikalsky 2010-07-26 14:43:12
13
répondu Mike Henke 2014-10-30 08:29:51

Regardez JGit-Ant. Malheureusement jgit-ant le projet tasks n'a 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 des commandes git-ant en utilisant jgit comme dans cet exemple.

6
répondu Serhii Bohutskyi 2014-10-30 10:21:39

Il semble qu'il y ait eu un 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 tlrobinson.

5
répondu jwhitlock 2010-06-22 01:25:54

Utilisez une combinaison de la bibliothèque JGit avec du code <script language="javascript"> (j'ai utilisé Rhino lubrary mais vous pouvez également utiliser Groovy, etc.).

0
répondu Ed Randall 2016-10-04 08:10:43

Il y a quelque temps, j'ai cherché sans succès des moyens prêts à l'emploi pour intégrer Git et Ant. J'avais besoin de possibilité de créer une build avec le nom de la branche Git. Enfin, je suis venu à la solution suivante:

L'extrait du vrai fichier build.xml:

<target name="-check-git-branch-name"
    if="using.git"
    >
    <exec executable="bash" logError="true" failonerror="true"
        outputproperty="git-branch-name">
        <arg value="./bin/git-branch-name.sh" />
    </exec>
</target>

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 recueillir le nom d'une branche (ou une validation du numéro si Git est détaché mode) et génère la construction avec le nom ajouté de la branche Git (ou hnumber de commit), par exemple build/TARGET-${git-branch-name}.

0
répondu jsxt 2016-10-16 21:34:44