tipos tag remove practices etiquetas crear best git ant integration

tag - ¿La mejor manera de integrar Git con Ant?



git tag best practices (7)

Ant admite el comando exec que puede usar para pasar cualquier comando (incluido Git) a la línea de comandos para su ejecución. Siempre puedes recurrir a eso.

Estoy buscando la mejor manera de integrar Git con Ant. ¿Existe una tarea de Ant ampliamente utilizada para Git? ¿Alguien tiene alguna experiencia en el uso de Git a través de Ant (por ejemplo, tarea dedicada, llamada ejecutiva, etc.)?



Hace un tiempo he buscado sin éxito listas en el uso de formas de integrar Git y Ant. Necesitaba la posibilidad de crear una compilación con el nombre de la rama Git. Finalmente llegué a la siguiente solución:

El extracto del archivo build.xml real:

<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>

Todo el contenido del archivo ./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

La invocación es similar a:

ant TARGET options -Dusing.git=

Cuando se declara ${using.git} , Ant llama a la tarea -check-git-branch-name para reunir el nombre de una rama (o el número de confirmación si Git está en modo separado) y genera la compilación con el nombre adjunto de la rama Git (o el número de confirmación), por ejemplo, build/TARGET-${git-branch-name} .


No parece que hubiera un conjunto de tareas Ant para Git.

Este blog habla sobre algunas tareas rudimentarias para trabajar con Git.



Use una combinación de la biblioteca JGit con algún código <script language="javascript"> (usé Rhino Lubrary pero también podría usar Groovy, etc.).


Mira a JGit-Ant . Desafortunadamente, el proyecto de tareas de jgit-ant no tiene todas las acciones principales de git, puedes encontrar información adicional here .

Para los desarrolladores de java: usted puede escribir fácilmente comandos git-ant con el uso de jgit como en here .