web-dev-qa-db-fra.com

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 déjà utilisé Git via Ant (tâche dédiée, appel exec, etc.)?

48
Vince

Ne ressemble pas à un ensemble de tâches Ant pour Git.

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

19
Jon

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

22
James Tikalsky

Voici les tâches Git Ant via JGit: http://aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit/ .

13
Mike Henke

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

Pour les développeurs Java: vous pouvez facilement écrire vous-même les commandes git-ant en utilisant jgit comme dans this examples .

6
Serhii Bohutskyi

Il semble que des tâches supplémentaires non officielles aient été effectuées sur les tâches Ant pour git:

Je n'ai pas d'expérience avec ceux-ci, mais ils semblent plus étoffés que la tuberculose.

5
jwhitlock

Il y a longtemps, j'ai cherché en vain des solutions prêtes à l'emploi pour intégrer Git et Ant. J'avais besoin de la possibilité de créer une construction avec le nom de la branche Git. Finalement je suis arrivé à la solution suivante:

L'extrait du fichier build.xml réel: 

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

0
jsxt

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

0
Ed Randall