<body>

Sitios web relacionados: PingBlog | Fotos

miércoles, octubre 19, 2005

Echando código: Compilando en Java con ANT (Parte I)



Ant nació como una respuesta a Make y su incapacidad de trabajar bien con Java. Si bien es perfectamente posible automatizar y organizar un proyecto escrito en Java con Make, no es recomendable ya que Make tiene los siguientes problemas:
  • No es %100 portable: Windows Make, GNU Make, Sun Make, todos tienen pequeñas diferencias
  • Falta de soporte básico: Para algunas tareas (creación de archivos JAR, instalación (o deployment) de aplicaciones web
  • Sintaxis rígida: ¿alguna vez usted utilizó espacio en vez de una tabulación, hard tab, para un blanco en Make?. Ant está escrito en XML el cual perdona algunos de los problemas de Make (sin embargo como buen XML debe estar bien formado).
  • Extensible: Ant puede crear sus propias tareas si usted desea echar código en Java, mientras que extensión en Make es posible solamante usando Shell Scripts (no portables, dependiendo de lo que se haga en ellos). Sin embargo Ant cuenta con un número de tareas predefinidas las cuales pueden ser utilizadas para crear otras más complejas sin necesidad de forzarlo a usted a escribir una línea de código.
Ant no sufre de esas limitaciones y ofrece un rango de herramientas bastante vistoso, particularmente en el manejo de proyectos grandes. La idea es asistir al desarrollador.

Para ser honesto, este no es un tutorial de Ant. No pretendo hacer mejor lo que ya otros han hecho mejor con anterioridad, pero si les quiero mostrar un archivo que muestra como manejar un proyecto web pequeño hecho en Java. Normalmente un proyecto web tiene el siguiente ciclo:
  • Compilación (no sólo de Servlets sino de JSP)
  • Pruebas de unidades (o Unit tests utilizando JUnit, seguramente acceso a bases de datos, pre compilación de JSP para detectar errores). Si usted recuerda bien un JSP no es más que un Servlet el cual primero es convertido a código Java y luego es compilado.
  • Empaquetado de la aplicación: Poner imagenes, JSP, ResourceBundles, archivos descriptores como el web.xml en sus respectivos archivos JAR y WAR
  • Instalación de la aplicación: Enviar la aplicación a el contenedor servlet como Tomcat. Tambien es importante ver que aplicaciones están corriendo, asi como como desinstalar una aplicación web.
En el medio hay tareas comunes y no tan comunes que casi siempre se realizan:
  • Creación y eliminación de artefactos temporales (directorios, archivos de propiedades)
  • Generación de documentación JavaDoc
  • Empaquetado para aplicaciones dependientes de el sistema operativo, como RPM en Linux.
  • Distribución de el código fuente usando FTP
  • Sincronización con el software de manejo de versiones (CVS, Subversion, Clearcase)
Les voy a mostrar todo eso con ayuda de un archivo Ant construido de el proyecto CVEBrowser. Lo utilizaremos como un punto de partida y aunque no refleja todos los posibles casos que pueden existir en el mundo real, al menos les permitirá entender como soluciona ciertos problemas (el punto es que usted se apegue a un sistema, el que sea, ya que eso le permitirá ser consistente).

Antes de lanzarme a escribir, ¿qué tipo de cosas le gustaría ver en el articulo? (sip, KodeGeek ahora tiene tutoriales on-demand :D).

Buscar en Technorati:

0 Comentarios:

Publicar un comentario en la entrada

Enlaces a este articulo:

Crear un vínculo

<< Regresar