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.)?
Ne ressemble pas à un ensemble de tâches Ant pour Git.
Ce blog parle de tâches rudimentaires pour travailler avec Git.
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.
Voici les tâches Git Ant via JGit: http://aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit/ .
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 .
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.
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}
. .
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.).