Apache Ant (otra herramienta ordenada) | |
---|---|
Tipo de | Automatización de montaje |
Desarrollador | Fundación de software Apache |
Escrito en | Java [2] [1] |
Sistema operativo | Software multiplataforma |
Primera edición | julio de 2000 y 17 de febrero de 2006 [1] |
plataforma de hardware | máquina virtual de Java |
ultima versión |
|
Licencia | Licencia Apache 2.0 |
Sitio web | ant.apache.org |
Archivos multimedia en Wikimedia Commons |
Apache Ant ( hormiga en inglés - una hormiga y un acrónimo - "Otra herramienta ordenada") es una utilidad para automatizar el proceso de creación de un producto de software. Es un análogo multiplataforma de la utilidad make , donde todos los comandos están escritos en formato XML .
Ant fue creado como parte del proyecto Jakarta , hoy es un proyecto independiente de primer nivel de Apache Software Foundation .
La primera versión fue desarrollada por el ingeniero de Sun Microsystems , James Davidson .) que necesitaba una utilidad como make mientras desarrollaba la primera implementación de referencia de J2EE .
Ant, a diferencia del otro creador de proyectos Apache Maven , proporciona una compilación de proyecto imperativa en lugar de declarativa .
A diferencia de make, la utilidad Ant es completamente independiente de la plataforma, solo requiere que el entorno de trabajo Java ( JRE ) esté instalado en el sistema que se utiliza . La omisión de los comandos del sistema operativo y el formato XML brindan portabilidad para los scripts.
El proceso de compilación está controlado por un script XML , también llamado archivo de compilación. En primer lugar, este archivo contiene la definición del proyecto, que consta de objetivos individuales ( Targets ). Los objetivos son comparables a los procedimientos en los lenguajes de programación y contienen llamadas a comandos de tareas ( Tareas ). Cada tarea es un comando atómico e indivisible que realiza alguna acción elemental.
Las dependencias se pueden definir entre objetivos: cada objetivo se ejecuta solo después de que se completan todos los objetivos de los que depende (si ya se completaron antes, no se vuelve a ejecutar).
Los ejemplos típicos de objetivos son limpiar (eliminar archivos intermedios), compilar ( compilar todas las clases), implementar (implementar la aplicación en el servidor). El conjunto específico de objetivos y sus relaciones dependen de las características específicas del proyecto.
Ant le permite definir sus propios tipos de tareas mediante la creación de clases Java que implementan ciertas interfaces .
La distribución incluye muchas bibliotecas que afectan a una amplia gama de tareas. Además, hay bibliotecas adicionales disponibles en el sitio web del proyecto que amplían la funcionalidad del producto, por ejemplo, para la integración con sistemas de terceros. La versión estándar contiene más de 150 tipos de tareas. A continuación se muestran ejemplos de tales comandos.
El código | Acción |
---|---|
javac | compilando código Java |
Copiar | Copiando documentos |
Eliminar | borrado de archivos y directorios |
Muevete | mover archivos y directorios |
reemplazar | reemplazar fragmentos de texto en archivos |
junta | ejecución automática de pruebas unitarias |
ejecutivo | ejecución de un comando externo |
Código Postal | creando un archivo Zip |
currículum | ejecutando el comando CVS |
correo | enviando correo electrónico |
xslt | Superposición de transformaciones XSLT |
Este script define dos objetivos, clean y build . El primero elimina archivos temporales, el segundo compila y crea un archivo JAR . El objetivo de compilación depende de clean , por lo que cuando se ejecuta, primero se limpiará y solo luego realizará los trabajos de compilación reales. Construir también se selecciona como destino predeterminado. Esto significa que se ejecutará al procesar este script sin especificar explícitamente un objetivo.
<?xml version="1.0"?> <proyecto predeterminado= "build" basedir= "." > <nombre de la propiedad = "nombre" valor= "AntBuildJar" /> < nombre de la propiedad= "src.dir" ubicación= "${basedir}/src" /> < nombre de la propiedad= "build" ubicación= "${basedir} /build" /> < nombre de propiedad= "build.classes" ubicación= "${build}/classes" /> < id de ruta= "libs.dir" > <fileset dir= "lib" include = "**/* .jar" /> </path> <!-- Construir la aplicación --> <target name= "build" depend= "clean" description= "Crear la aplicación" > <!-- Crear directorios --> <mkdir dir = "${construir.clases}" /> <!-- Compilar archivos fuente --> <javac srcdir= "${src.dir}" destdir= "${build.classes}" debug= "false" deprecation= "true" Optimize= "true" > <classpath refid= "libs.dir" /> </javac> <!-- Copie los archivos requeridos --> <copy todir= "${build.classes}" > <fileset dir= "${src.dir}" include = "**/*.*" excludes= "** /*.java" /> </copiar> <!-- Crear archivo JAR --> <jar jarfile= "${build}/${name}.jar" > <fileset dir= "${build.classes}" /> </jar> </target> <!-- Limpieza --> <target name= "clean" description= "Elimina todos los archivos temporales" > <!-- Eliminar archivos --> <delete dir= "${build.classes}" /> </target > </proyecto>Fundación de software Apache | |||||||
---|---|---|---|---|---|---|---|
Proyectos de primer nivel |
| ||||||
Subproyectos |
| ||||||
Web de Apache |
| ||||||
Otros proyectos | |||||||
Desarrollando proyectos ( Incubadora ) |
| ||||||
Proyectos fuera de servicio ( Ático ) | |||||||
|
Sistemas de automatización de montaje | |
---|---|