How to Integrate Subversion, Version Control Software, With Apache ANT ¿Cómo integrar la subversión, de control de versiones de software, con Apache ANT
Subversion is a popular version control software and replacement for CVS, the grand-daddy of all version control software which is still widely used in open source community. Subversion es una versión popular software de control y la sustitución de CVS, el gran papá de todos los software de control de versiones que sigue siendo ampliamente utilizado en la comunidad de código abierto.
Recently I had the necessity to invoke Subversion commands like checkout from Ant, a popular java based build software which replaces make tool. Recientemente tuve la necesidad de invocar los comandos de Subversion, como la compra de Ant, un popular basado en java construir software que sustituye a hacer herramienta.
There are two ant tasks to accomplish this, the better one is SvnAnt from Subclipse project. Hay dos tareas hormiga a lograr esto, el mejor es SvnAnt proyecto de Subclipse. However configuring it to work was non-trivial as proper usage documentation was missing. Sin embargo configurándolo para el trabajo no era trivial como el uso adecuado de documentación que faltaba. So I decided simplify the process to make your life easier. Así que he decidido simplificar el proceso para hacer su vida más fácil.
However the extensive commands it supports are well Sin embargo, el amplio apoyo que los comandos están bien documented documentadas .
Note: If prompted for user name / password use guest / guest. Nota: Si se le pregunte por el nombre de usuario / contraseña uso clientes / clientes.
Why SvnAnt? SvnAnt ¿Por qué?
Subversion is a full-fledged version control software obviously supporting commands like checkout, add or commit. Subversion es un completo software de control de versiones, evidentemente, el apoyo a órdenes como la caja, añadir o cometen. The ant task from O’Reily didn’t even support checkout! La tarea de hormiga O'Reily ni siquiera pedir el apoyo! It supported a very limited set from the available commands. Apoyó un conjunto muy limitado de los comandos disponibles.
So I went for Así que me fui para svnant task which had much better support. tarea que tiene mucho mejor soporte. Also this way you don’t have to mess with También de esta manera usted no tiene que lío con exec’ing the Subversion CLI Subversion exec'ing la CLI commands directly from your ant script. comandos directamente desde su script de hormigas. It is wrapped up for ease of use. Es envuelto por la facilidad de uso. It can also use JNI interface for speed. También puede utilizar la interfaz JNI para la velocidad.
To provide access to the Subversion API, svnant uses either the Para facilitar el acceso a la API de Subversion, svnant usos, ya sea la javahl - Subversion Java bindings or Subversion’s command line programs (which must be installed and in your PATH). -- Subversion Java o fijaciones de Subversion programas de línea de comandos (que debe estar instalado y en su PATH).
javahl uses JNI which must be setup appropriately. javahl utiliza JNI que debe ser la configuración adecuada. I preferred using the Subversion’s command line programs as subversion was already installed in my system. He preferido utilizar la subversión de la línea de comandos como los programas de subversión ya estaba instalado en mi sistema.
Steps: Pasos:
1. I am assuming you already have Estoy suponiendo que ya tienes ant installed. instalado. If not do it first. Si no lo hacen primero. Ensure %ANT_HOME% ($ANT_HOME for *nix) is defined and %ANT_HOME%\bin is appended to your %PATH%. Garantizar% ANT_HOME% ($ ANT_HOME de * nix) y se define% ANT_HOME% \ bin se adjunta a su PATH%%.
2. If you do not have subversion installed then first Si no lo tiene instalado, entonces la subversión primero download it descargarlo and install. e instalar.
2.1 Ensure that svn is in your path by invoking svn from a command windows (cmd for windows, bash etc. for *nix). 2,1 svn Asegúrese de que está en su camino invocando svn de un comando ventanas (cmd para ventanas, etc bash para * nix).
3. Download Descargar svnant and extract the files to any directory. y extraer los archivos a cualquier directorio.
4. Go to your project directory. Vaya a su directorio de proyecto. If it doesn’t have a lib (or equivalent) directory to store required jar files then create one and copy all the files (*.jar ) from svnant’s lib directory: Si no tiene un lib (o equivalente) de directorio para almacenar archivos JAR necesario entonces crear uno y copiar todos los archivos (*. jar) de svnant del directorio lib:
commons-lang-2.0.jar
jakarta-regexp-1.3.jar Yakarta-regexp-1.3.jar
svnClientAdapter.jar
svnant.jar
svnjavahl.jar
5. To use svn task you have to add a taskdef to your build file. Para usar svn tarea que tienen que añadir un taskdef para construir su archivo. Use either of the following: Utilice cualquiera de los siguientes documentos:
Option 1: Opción 1:
This requires the lib directory to be included with either “ant -lib lib” or by adding an extra parameter: Para ello se requiere el directorio lib que se incluyan, ya sea con "ant-lib lib" o después de añadir un parámetro adicional:
where project.classpath is previously defined as: project.classpath donde anteriormente se define como:
Option 2 is simpler: La opción 2 es más simple:
The project.classpath is previously defined as shown before. El project.classpath está previamente definida, como se indica antes.
For example you can use this simple build.xml file to fetch latest code from WordPress repository: Por ejemplo, puede usar este simple archivo build.xml para obtener más reciente código de WordPress repositorio:
Run this script by simply typing ant. Ejecutar este script simplemente tecleando ant.
BTW: I think Subversion as version control software and ant as build and deployment software are two very strong products which should be part of any enterprise open source software stack. BTW: Creo que la subversión como de control de versiones de software y hormigas como la construcción y despliegue de software son dos productos muy fuertes que deben formar parte de cualquier empresa de software de fuente abierta pila.
Filed under Filed under Headline News Headline News , How To Cómo , Java Software El software de Java , Open Source Software Open Source Software , Tech Note Nota técnica | |
| |
RSS 2.0 RSS 2,0 | |
Trackback this Article | este artículo |
Email this Article Enviar artículo
You may also like to read También puede leer |




June 9th, 2006 at 1:09 pm Junio 9, 2006 a las 1:09 pm
I am not able to set the interative option in svn, ie I have to use username and password option in a non interactive way. No estoy en condiciones de establecer la opción interative en svn, es decir, tengo que utilizar el nombre de usuario y contraseña en una opción no interactiva.
Can anyone tell the format to enable authentication in an interactive way. ¿Puede alguien decirme el formato para permitir la autenticación de una manera interactiva.
Thanks in advance. Gracias de antemano.
Ankush
May 3rd, 2007 at 10:18 am 3 de Mayo, 2007 a las 10:18 am
Ankush, if it is not too late Ankush, si no es demasiado tarde
There is an task for this purpuse in Core taskset. Hay una tarea para este purpuse en taskset Core. See example: Véase el ejemplo:
Flitt
May 20th, 2008 at 2:48 pm 20 de mayo de 2008 a 2:48 pm
I find the SVN Ant task very primitive compared to its CVS cousin. Creo que la SVN Ant tarea muy primitivo en comparación con su primo CVS. Maybe I’m missing something but I couldn’t figure out how to replace this cvs task with its svn alternative: Tal vez me faltaba algo, pero no he podido averiguar la forma de sustituir esta tarea cvs con su svn alternativas:
<cvs dest=”${dest}”<cvs dest = "$ () dest"command=” ${command} “comando = "$ (comando)"tag=”${tag}”tag = "$ (etiqueta)"package=” ${packages} “paquete = "$ (paquetes)"output=”${output}”>output = "$ (salida)">May 20th, 2008 at 2:59 pm 20 de mayo de 2008 a 2:59 pm
I find the SVN Ant task very primitive compared to its CVS cousin. Creo que la SVN Ant tarea muy primitivo en comparación con su primo CVS. Maybe I’m missing something but I couldn’t figure out how to replace the cvs task with its svn alternative. Tal vez me faltaba algo, pero no he podido averiguar la forma de sustituir el cvs con su tarea svn alternativa. I’m referring to the ‘command’ and ‘package’ attributes which could be specified as build properties and would make the build script pretty generic and parameterized. Me estoy refiriendo al «comando» y «paquete» los atributos que pueden ser especificados como construir propiedades y haría que el script bastante genéricos y parametrizados.