Estoy buscando la mejor manera de integrar Git con Ant. ¿Hay una tarea Ant ampliamente utilizada para Git? ¿Alguien tiene experiencia en usar Git a través de Ant (por ejemplo, tarea dedicada, llamada de ejecutivo, etc.)?¿La mejor manera de integrar Git con Ant?
Respuesta
Parece que no hay un conjunto de tareas Ant para Git.
This blog habla de algunas tareas rudimentarias para trabajar con Git.
aquí está Git Ant Tasks a través de JGit http://aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit/ –
Esto solo puede hacer 'git clone',' git init' y 'git checkout '. – zb226
el blog está desactualizado. Actualice el enlace del blog –
Parece que ha habido un cierto trabajo adicional, no oficial realizado en tareas Ant para git:
- http://github.com/newtriks/Ant-Funk (y entrada de blog http://www.newtriks.com/?p=910)
- http://github.com/FrancisVarga/ant-git-macros
no tengo experiencia con estos, pero parecen más carnosos que los de tlrobinson.
Ant es compatible con el exec command que puede utilizar para pasar cualquier comando (incluido Git) a la línea de comandos para su ejecución. Siempre puedes recurrir a eso.
Aquí está Git Ant Tasks a través de JGit: http://aniszczyk.org/2011/05/12/git-ant-tasks-via-jgit/.
Look at JGit-Ant. Desafortunadamente el proyecto de tareas jgit-ant no tiene todas las acciones principales de git, puede encontrar información adicional here.
Para desarrolladores de Java: puede escribir fácilmente comandos de git-ant con el uso de jgit como en this examples.
El enlace está roto. – Valentino
Utilice una combinación de la biblioteca JGit con algún código <script language="javascript">
(utilicé la función de lubricación de Rhino pero también podía usar Groovy, etc.).
Hace tiempo que he buscado sin éxito formas listas para usar para integrar Git y Ant. Necesitaba la posibilidad de crear una compilación con el nombre de la rama de Git. Finalmente llegué a la siguiente solución:
El extracto de la verdadera build.xml
archivo:
<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
Invocación es similar a:
ant TARGET options -Dusing.git=
Cuando ${using.git}
es de clared, Ant llama a la tarea -check-git-branch-name
para recopilar el nombre de una rama (o un número de confirmación si Git está en modo separado) y genera la construcción con el nombre adjunto de la rama Git (o hnumber de confirmación), por ejemplo build/TARGET-${git-branch-name}
.
- 1. La mejor manera de integrar StyleCop con TFS CI
- 2. mejor manera de integrar erlang y python
- 3. ¿Cuál es la mejor manera de integrar varios sistemas?
- 4. ¿Cuál es la mejor forma de precompilar JSP con Ant
- 5. La mejor manera de integrar el navegador en la aplicación Java
- 6. ¿Cuál es la mejor manera de reemplazar remote.origin.url en Git?
- 7. mejor Ant tutorial/quickstart?
- 8. ¿Cuál es la mejor manera de integrar un despachador de eventos en una biblioteca PHP?
- 9. ¿Cuál es la mejor manera de usar SOAP con Ruby?
- 10. Mejor plantilla Apache Ant
- 11. ¿Cuál es la mejor manera de integrar el proveedor de Bouncy Castle en un programa Java?
- 12. integrando gruñido con ant
- 13. La mejor manera de integrar el sonido en el sitio web
- 14. ¿Hay alguna manera fácil de integrar jshint con netbeans?
- 15. ¿Hay alguna manera de integrar OpenCV con PHP?
- 16. ¿La mejor manera de verificar automáticamente y compilar proyectos de Eclipse con Ant en Hudson u otra herramienta de CI?
- 17. Integración con Great Plains, ¿la mejor manera?
- 18. ¿Cuál es la mejor manera de clonar/duplicar un proyecto en un nuevo con git?
- 19. Mejor flujo de trabajo con Git & Github
- 20. Cómo integrar ezComponents con Magento
- 21. ¿La mejor manera de usar la autenticación OpenID con Azure?
- 22. Proyecto Symfony2 con Git: ¿el mejor enfoque?
- 23. ¿Cómo podría integrar phpunit con Hudson CI?
- 24. Configuración de Ivy con Git?
- 25. Integrar RubyMine con GitHub para Windows
- 26. Cómo integrar Redis con SQLAlchemy
- 27. ¿Integrar SVN con Notepad ++?
- 28. Integrar Spring con IntelliJ
- 29. Integrar solr con mySql
- 30. Integrar Erlang con C++
Una pregunta más detallada es http://stackoverflow.com/questions/2974106/how-to-lookup-the-latest-git-commit-hash-from-an-ant-build-script. Las respuestas allí también pueden ser útiles aquí. – koppor