fbpx
Wikipedia

Apache Ant

Apache Ant es una herramienta usada en programación para la realización de tareas mecánicas y repetitivas,[1]​ normalmente durante la fase de compilación y construcción (build). Es, por tanto, un software para procesos de automatización de compilación, similar a Make pero desarrollado en lenguaje Java y requiere la plataforma Java, así que es más apropiado para la construcción de proyectos Java.

Apache ANT (Another Neat Tool)
Información general
Tipo de programa Automatización de compilación
Desarrollador Apache Software Foundation
Lanzamiento inicial julio de 2000
Licencia Apache License 2.0
Idiomas inglés
Información técnica
Programado en Java
Plataformas admitidas Java
Versiones
Última versión estable 1.10.7 (info) ( 5 de septiembre de 2019 (2 años, 3 meses y 4 días))
Enlaces
Sitio web oficial
Repositorio de código
Seguimiento de errores

Esta herramienta, hecha en el lenguaje de programación Java, tiene la ventaja de no depender de las órdenes del shell de cada sistema operativo, sino que se basa en archivos de configuración XML y clases Java para la realización de las distintas tareas, siendo idónea como solución multi-plataforma.

La diferencia más notable entre Ant y Make es que Ant utiliza XML para describir el proceso de generación y sus dependencias, mientras que Make utiliza formato makefile. Por defecto, el archivo XML se denomina build.xml.

Ant es un proyecto de la Apache Software Foundation. Es software open source, y se lanza bajo la licencia Apache Software.

Historia

ANT (siglas de "Another Neat Tool", en español "Otra Ingeniosa Herramienta", que en inglés significan "hormiga"[2]​) fue creado por James Duncan Davidson mientras realizaba la transformación del proyecto Solar de Sun Microsystems en código abierto (concretamente la implementación del motor JSP/Servlet de Sun, que luego se llamaría Jakarta Tomcat). Se usó una versión de código propietario de make para construirlo en entorno Solaris Operating Environment. En un entorno cerrado Make funcionaba correctamente bajo plataforma Solaris, pero para el entorno de código abierto, donde no era posible determinar la plataforma bajo la que se iba a compilar Tomcat, era necesaria otra forma de trabajar. Así nació Ant como un simple intérprete que cogía un archivo XML "build file" para compilar Tomcat independientemente de la plataforma sobre la que operaba. ANT (versión 1.1) fue lanzado oficialmente como un producto independiente el 19 de julio de 2000. A partir de este punto la herramienta fue adoptando nuevas funcionalidades y actualmente es un estándar en el mundo Java.

Se han hecho varias propuestas para una versión Ant 2, como AntEater (oso hormiguero) por James Duncan Davidson, Myrmidon por Peter Donald y Mutant (mutante) por Conor MacNeill, ninguno de los cuales fueron capaces de encontrar gran aceptación en la comunidad de desarrolladores.[3]

Uso

Para utilizar ANT basta con disponer de una distribución binaria de ANT y tener instalado la versión 1.4 o superior del JDK. La distribución binaria consiste en la siguiente estructura de directorios: La carpeta "ant" contiene las carpetas "bin" (que asimismo contiene scripts de lanzador), "lib" (que contiene las dependencias necesarias y los .JAR de Ant), "docs", (que contiene la documentación de Ant, incluyendo una descripción, imágenes y un manual), y "etc" (que contiene valiosos archivos .XSL para crear informe de mejora de la salida XML de varias tareas, migrar los archivos de creación y deshacerse de la "obsoleta" alerta, y más). Pero solo se necesitan los directorios bin y lib para ejecutar ANT.

Ejecución de ANT

Para ejecutar ANT basta con escribir ant en la línea de comandos. Si se ha especificado la ejecución de un objetivo por defecto en la cabecera del proyecto del fichero build.xml no es necesario el uso de ningún parámetro ya que, se ejecutará este por defecto. Para utilizar un buildfile diferente de build.xml hay que añadir el parámetro -buildfile nombre_fichero, donde nombre_fichero es el buildfile que se quiere utilizar:

ant -buildfile buildfile_alt.xml 

Si se desea ejecutar uno o varios objetivos concretos, se debe añadir el nombre de este o estos objetivos en la línea de comandos vv:

ant clean 

En este caso se ignorara el objetivo indicado en la cabecera del proyecto.

Características

Hoy en día, ANT es la herramienta de construcción de software (compilación) utilizada por la mayoría de los proyectos de desarrollo de Java.[4]​ Por ejemplo, la mayoría de desarrolladores de código abierto incluye archivos build.xml en sus distribuciones [cita requerida]. Debido a que ANT ha hecho trivial [cita requerida] el integrar pruebas JUnit con el proceso de generación (compilación), ANT ha hecho fácil para los desarrolladores adoptar el desarrollo basado en pruebas, e incluso extreme programming.

Limitaciones

  • Al ser una herramienta basada en XML, los archivos Ant deben ser escritos en XML. Esto es no sólo una barrera para los nuevos usuarios, sino también un problema en los proyectos muy grandes, cuando se construyen archivos muy grandes y complejos. Esto quizá sea un problema común a todos los lenguajes XML, pero la granularidad de las tareas de Ant (comparado con Maven, por decir alguno), significa que los problemas de escalabilidad llegan pronto.
  • La mayoría de las antiguas herramientas — las que se usan todos los días, como <javac>, <exec> y <java> — tienen malas configuraciones por defecto, valores para opciones que no son coherentes con las tareas más recientes. Esta es la maldición de la compatibilidad hacia atrás: cambiar estos valores supone estropear las herramientas existentes.
  • Cuando se expanden las propiedades en una cadena o un elemento de texto, las propiedades no definidas no son planteadas como error, sino que se dejan como una referencia sin expandir (ej.: ${unassigned.property}). De nuevo, esta es una cuestión de la compatibilidad hacia atrás, incluso se reconoce que tener la herramienta desactivada es normalmente la mejor opción, al menos hasta el punto que el mítico producto "Ant2.0" falle en propiedades no asignadas.
  • No es un lenguaje para un flujo de trabajo general, y no debería ser usado como tal. En particular, tiene reglas de manejo de errores limitadas, y no tiene persistencia de estado, así que no puede ser usado con confianza para manejar una construcción de varios días.

Estructura de un fichero build.xml

Los ficheros buildfiles de ANT están escritos en XML. Cada buildfile contiene un proyecto (project) y al menos un objetivo (target). Cada objetivo puede contener varias tareas (task) que son fragmentos de código a ejecutar. Un proyecto, además, puede constar de diversas propiedades. Cada propiedad consta de nombre y valor y son usadas para asignar valores a los atributos de los task.

Extensiones

WOProject-Ant[5]​ es uno de los muchos ejemplos de una tarea de extensión escrita para ANT. Estas extensiones son puestas en uso copiando los archivos jar en el directorio lib. Una vez hecho esto, estas tareas de extensión pueden ser invocadas directamente en el típico archivo build.xml. Las extensiones de WOProject WebObjects permiten a los desarrolladores el uso de ANT en la construcción de sus marcos y aplicaciones, en lugar de la suite Apple Xcode.

Antcontrib[6]​ proporciona un conjunto de tareas tales como sentencias condicionales y operaciones sobre las propiedades, así como otras tareas útiles.[7]

Existen otras extensiones de tareas para Perforce, .NET, EJB, y manipulaciones del sistema de archivos, por nombrar algunos.[8]

Portabilidad

Una de las primeras ayudas de Ant fue solucionar los problemas de portabilidad de Make. En un Makefile las acciones necesarias para crear un objetivo se especifican como órdenes de Intérprete de comandos que son específicos de la plataforma, normalmente un shell de Unix. Ant resuelve este problema proveyendo una gran cantidad de funcionalidades por él mismo, que pueden garantizar que permanecerán (casi) idénticas en todas las plataformas.

Referencias

  1. Página oficial del proyecto Apache Ant (en inglés)
  2. Why do you call it Ant?, Apache Ant FAQ
  3. Java Tools for eXtreme Programming, Wiley, 2002: 76
  4. Ant-Contrib Tasks
  5. Ant-Contrib Tasks
  6. Overview of Ant Tasks

Bibliografía

  • Loughran, Steve; Hatcher, Erik (12 de julio de 2007). Ant in Action (2nd edición). Manning Publications. p. 600. ISBN 978-1932394801. 
  • Holzner, Steven (13 de abril de 2005). Ant - The Definitive Guide (2nd edición). O'Reilly Media. p. 334. ISBN 978-0596006099. 
  • Moodie, Matthew (16 de noviembre de 2005). Pro Apache Ant (1st edición). Apress. pp. 360. ISBN 978-1590595596. 
  • Bell, Alexis T. (7 de julio de 2005). ANT Java Notes: An Accelerated Intro Guide to the Java ANT Build Tool (1st edición). Virtualbookworm.com Publishing. p. 268. ISBN 978-1589397385. 
  • Hatcher, Erik; Loughran, Steve (agosto de 2002). Java Development with Ant (1st edición). Manning Publications. pp. 672. ISBN 978-1930110588. 
  • Niemeyer, Glenn; Poteet, Jeremy (29 de mayo de 2003). Extreme Programming with Ant: Building and Deploying Java Applications with JSP, EJB, XSLT, XDoclet, and JUnit (1st edición). SAMS Publishing. p. 456. ISBN 978-0672325625. 
  • Williamson, Alan (1 de noviembre de 2002). Ant - Developer's Handbook (1st edición). SAMS Publishing. p. 456. ISBN 978-0672324260. 
  • Matzke, Bernd (septiembre de 2003). ANT: The Java Build Tool In Practice (1st edición). Charles River Media. p. 280. ISBN 978-1584502487. 
  • Gómez-Sanz, J. & Pavón, J. INGENIAS Development Kit (IDK) Manual. Facultad de Informática, Universidad Complutense de Madrid, España. 2004. Disponible en: [1].

Véase también

Enlaces externos

  • Página oficial del proyecto Apache Ant
  • (en inglés)
  • (en inglés) Manual de usuario de Apache Ant
  • (en inglés) Manual de usuario de Ant-Contrib, con extensiones para compilar C++
  • Primeros pasos con Apache Ant
  • Tutorial Apache Ant con ejemplo
  • (en inglés) WinAnt - Windows installer de Apache Ant
  • (en inglés) (slide show)
  • (en inglés)
  • (en inglés) Antro, un perfilador para scripts de Ant
  • Wikilibro para aprender Apache Ant
  • (en inglés) Libro Wiki sobre Apache Ant
  • (en inglés) Ant tutorial
  • (en inglés) Ant Automation, un ejemplo bueno y manejable de automatización con Apache Ant.
  • (en inglés)
  •   Datos: Q385970
  •   Multimedia: Category:Apache Ant
  •   Libros y manuales: Apache Ant

apache, redirige, aquí, para, otras, acepciones, véase, herramienta, usada, programación, para, realización, tareas, mecánicas, repetitivas, normalmente, durante, fase, compilación, construcción, build, tanto, software, para, procesos, automatización, compilac. Ant redirige aqui Para otras acepciones vease ANT Apache Ant es una herramienta usada en programacion para la realizacion de tareas mecanicas y repetitivas 1 normalmente durante la fase de compilacion y construccion build Es por tanto un software para procesos de automatizacion de compilacion similar a Make pero desarrollado en lenguaje Java y requiere la plataforma Java asi que es mas apropiado para la construccion de proyectos Java Apache ANT Another Neat Tool Informacion generalTipo de programaAutomatizacion de compilacionDesarrolladorApache Software FoundationLanzamiento inicialjulio de 2000LicenciaApache License 2 0IdiomasinglesInformacion tecnicaProgramado enJavaPlataformas admitidasJavaVersionesUltima version estable1 10 7 info 5 de septiembre de 2019 2 anos 3 meses y 4 dias EnlacesSitio web oficial Repositorio de codigo Seguimiento de errores editar datos en Wikidata Esta herramienta hecha en el lenguaje de programacion Java tiene la ventaja de no depender de las ordenes del shell de cada sistema operativo sino que se basa en archivos de configuracion XML y clases Java para la realizacion de las distintas tareas siendo idonea como solucion multi plataforma La diferencia mas notable entre Ant y Make es que Ant utiliza XML para describir el proceso de generacion y sus dependencias mientras que Make utiliza formato makefile Por defecto el archivo XML se denomina build xml Ant es un proyecto de la Apache Software Foundation Es software open source y se lanza bajo la licencia Apache Software Indice 1 Historia 2 Uso 3 Ejecucion de ANT 4 Caracteristicas 5 Limitaciones 6 Estructura de un fichero build xml 7 Extensiones 8 Portabilidad 9 Referencias 10 Bibliografia 11 Vease tambien 12 Enlaces externosHistoria EditarANT siglas de Another Neat Tool en espanol Otra Ingeniosa Herramienta que en ingles significan hormiga 2 fue creado por James Duncan Davidson mientras realizaba la transformacion del proyecto Solar de Sun Microsystems en codigo abierto concretamente la implementacion del motor JSP Servlet de Sun que luego se llamaria Jakarta Tomcat Se uso una version de codigo propietario de make para construirlo en entorno Solaris Operating Environment En un entorno cerrado Make funcionaba correctamente bajo plataforma Solaris pero para el entorno de codigo abierto donde no era posible determinar la plataforma bajo la que se iba a compilar Tomcat era necesaria otra forma de trabajar Asi nacio Ant como un simple interprete que cogia un archivo XML build file para compilar Tomcat independientemente de la plataforma sobre la que operaba ANT version 1 1 fue lanzado oficialmente como un producto independiente el 19 de julio de 2000 A partir de este punto la herramienta fue adoptando nuevas funcionalidades y actualmente es un estandar en el mundo Java Se han hecho varias propuestas para una version Ant 2 como AntEater oso hormiguero por James Duncan Davidson Myrmidon por Peter Donald y Mutant mutante por Conor MacNeill ninguno de los cuales fueron capaces de encontrar gran aceptacion en la comunidad de desarrolladores 3 Uso EditarPara utilizar ANT basta con disponer de una distribucion binaria de ANT y tener instalado la version 1 4 o superior del JDK La distribucion binaria consiste en la siguiente estructura de directorios La carpeta ant contiene las carpetas bin que asimismo contiene scripts de lanzador lib que contiene las dependencias necesarias y los JAR de Ant docs que contiene la documentacion de Ant incluyendo una descripcion imagenes y un manual y etc que contiene valiosos archivos XSL para crear informe de mejora de la salida XML de varias tareas migrar los archivos de creacion y deshacerse de la obsoleta alerta y mas Pero solo se necesitan los directorios bin y lib para ejecutar ANT Ejecucion de ANT EditarPara ejecutar ANT basta con escribir ant en la linea de comandos Si se ha especificado la ejecucion de un objetivo por defecto en la cabecera del proyecto del fichero build xml no es necesario el uso de ningun parametro ya que se ejecutara este por defecto Para utilizar un buildfile diferente de build xml hay que anadir el parametro buildfile nombre fichero donde nombre fichero es el buildfile que se quiere utilizar ant buildfile buildfile alt xml Si se desea ejecutar uno o varios objetivos concretos se debe anadir el nombre de este o estos objetivos en la linea de comandos vv ant clean En este caso se ignorara el objetivo indicado en la cabecera del proyecto Caracteristicas EditarHoy en dia ANT es la herramienta de construccion de software compilacion utilizada por la mayoria de los proyectos de desarrollo de Java 4 Por ejemplo la mayoria de desarrolladores de codigo abierto incluye archivos build xml en sus distribuciones cita requerida Debido a que ANT ha hecho trivial cita requerida el integrar pruebas JUnit con el proceso de generacion compilacion ANT ha hecho facil para los desarrolladores adoptar el desarrollo basado en pruebas e incluso extreme programming Limitaciones EditarAl ser una herramienta basada en XML los archivos Ant deben ser escritos en XML Esto es no solo una barrera para los nuevos usuarios sino tambien un problema en los proyectos muy grandes cuando se construyen archivos muy grandes y complejos Esto quiza sea un problema comun a todos los lenguajes XML pero la granularidad de las tareas de Ant comparado con Maven por decir alguno significa que los problemas de escalabilidad llegan pronto La mayoria de las antiguas herramientas las que se usan todos los dias como lt javac gt lt exec gt y lt java gt tienen malas configuraciones por defecto valores para opciones que no son coherentes con las tareas mas recientes Esta es la maldicion de la compatibilidad hacia atras cambiar estos valores supone estropear las herramientas existentes Cuando se expanden las propiedades en una cadena o un elemento de texto las propiedades no definidas no son planteadas como error sino que se dejan como una referencia sin expandir ej unassigned property De nuevo esta es una cuestion de la compatibilidad hacia atras incluso se reconoce que tener la herramienta desactivada es normalmente la mejor opcion al menos hasta el punto que el mitico producto Ant2 0 falle en propiedades no asignadas No es un lenguaje para un flujo de trabajo general y no deberia ser usado como tal En particular tiene reglas de manejo de errores limitadas y no tiene persistencia de estado asi que no puede ser usado con confianza para manejar una construccion de varios dias Estructura de un fichero build xml EditarLos ficheros buildfiles de ANT estan escritos en XML Cada buildfile contiene un proyecto project y al menos un objetivo target Cada objetivo puede contener varias tareas task que son fragmentos de codigo a ejecutar Un proyecto ademas puede constar de diversas propiedades Cada propiedad consta de nombre y valor y son usadas para asignar valores a los atributos de los task Extensiones EditarWOProject Ant 5 es uno de los muchos ejemplos de una tarea de extension escrita para ANT Estas extensiones son puestas en uso copiando los archivos jar en el directorio lib Una vez hecho esto estas tareas de extension pueden ser invocadas directamente en el tipico archivo build xml Las extensiones de WOProject WebObjects permiten a los desarrolladores el uso de ANT en la construccion de sus marcos y aplicaciones en lugar de la suite Apple Xcode Antcontrib 6 proporciona un conjunto de tareas tales como sentencias condicionales y operaciones sobre las propiedades asi como otras tareas utiles 7 Existen otras extensiones de tareas para Perforce NET EJB y manipulaciones del sistema de archivos por nombrar algunos 8 Portabilidad EditarUna de las primeras ayudas de Ant fue solucionar los problemas de portabilidad de Make En un Makefile las acciones necesarias para crear un objetivo se especifican como ordenes de Interprete de comandos que son especificos de la plataforma normalmente un shell de Unix Ant resuelve este problema proveyendo una gran cantidad de funcionalidades por el mismo que pueden garantizar que permaneceran casi identicas en todas las plataformas Referencias Editar Pagina oficial del proyecto Apache Ant en ingles Why do you call it Ant Apache Ant FAQ Conor MacNeill The Early History of Ant Development Java Tools for eXtreme Programming Wiley 2002 76 WOProject Ant WOProject WOLips Confluence Ant Contrib Tasks Ant Contrib Tasks Overview of Ant TasksBibliografia EditarLoughran Steve Hatcher Erik 12 de julio de 2007 Ant in Action 2nd edicion Manning Publications p 600 ISBN 978 1932394801 Holzner Steven 13 de abril de 2005 Ant The Definitive Guide 2nd edicion O Reilly Media p 334 ISBN 978 0596006099 Moodie Matthew 16 de noviembre de 2005 Pro Apache Ant 1st edicion Apress pp 360 ISBN 978 1590595596 Bell Alexis T 7 de julio de 2005 ANT Java Notes An Accelerated Intro Guide to the Java ANT Build Tool 1st edicion Virtualbookworm com Publishing p 268 ISBN 978 1589397385 Hatcher Erik Loughran Steve agosto de 2002 Java Development with Ant 1st edicion Manning Publications pp 672 ISBN 978 1930110588 Niemeyer Glenn Poteet Jeremy 29 de mayo de 2003 Extreme Programming with Ant Building and Deploying Java Applications with JSP EJB XSLT XDoclet and JUnit 1st edicion SAMS Publishing p 456 ISBN 978 0672325625 Williamson Alan 1 de noviembre de 2002 Ant Developer s Handbook 1st edicion SAMS Publishing p 456 ISBN 978 0672324260 Matzke Bernd septiembre de 2003 ANT The Java Build Tool In Practice 1st edicion Charles River Media p 280 ISBN 978 1584502487 Gomez Sanz J amp Pavon J INGENIAS Development Kit IDK Manual Facultad de Informatica Universidad Complutense de Madrid Espana 2004 Disponible en 1 Vease tambien Editar Libros de texto en Wikilibros Portal Software libre Contenido relacionado con Software libre Compilacion Maven una herramienta de automatizacion de compilaciones y gestion de proyectos principalmente enfocada a Java Nant Ant like herramienta enfocada al entorno NET mas que a Java Java lenguaje de programacion Enlaces externos EditarPagina oficial del proyecto Apache Ant en ingles Wiki de Apache Ant en ingles Manual de usuario de Apache Ant en ingles Manual de usuario de Ant Contrib con extensiones para compilar C Primeros pasos con Apache Ant Tutorial completo sobre Ant Tutorial Apache Ant con ejemplo en ingles WinAnt Windows installer de Apache Ant en ingles Introduction to Ant slide show en ingles Linguine Maps visualization library produce automaticamente diagramas faciles de leer desde archivos construidos de Ant en ingles Antro un perfilador para scripts de Ant Wikilibro para aprender Apache Ant en ingles Libro Wiki sobre Apache Ant en ingles Ant tutorial en ingles Ant Automation un ejemplo bueno y manejable de automatizacion con Apache Ant en ingles Una interfaz grafica de Ant para Windows Datos Q385970 Multimedia Category Apache Ant Libros y manuales Apache Ant Obtenido de https es wikipedia org w index php title Apache Ant amp oldid 140065758, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos