NAnt es una herramienta de código abierto para automatizar procesos de construcción de software. Una build tool.

Se puede extender mediante clases Tasks, no mediante comandos Shell, como la mayoría de estas herramientas. Esta característica la hace cross-platform.

Los archivos de configuración se basan en sintaxis XML, tienen extensión .build y  están compuestos por cuatro tipos de ítems: Tasks, Targets, Properties y Projects, en los nodos Target se ejecutan una o más Tareas (tasks), si es necesario, estableciendo un orden de precedencia y también dependencias.

De todos modos si alguien necesita ejecutar un comando shell, exuste una Tarea (task) en NAnt para hacerlo.

NAnt es la adaptación de Apache Ant para .NET, http://ant.apache.org/

Desde este sitio http://sourceforge.net/projects/nant/ podemos bajar la última versión de NAnt.

Con copiar la carpeta bin en C:\Program Files\NAnt (o el equivalente a C:\Program Files en tu equipo) y copiar un archivo de nombre NAnt.bat en C:\Windows (o el equivalente en tu equipo) con el siguiente contenido:

@Echo off

“C:\Program Files\NAnt\bin\NAnt.exe” %*

Este es el sitio oficial de NAnt, http://nant.sourceforge.net/  donde encontrar documentación y ejemplos.

Para ver lo que se puede hacer con NAnt, acá está la lista de Tareas (tasks) disponibles http://nantcontrib.sourceforge.net/release/latest/help/tasks/

Para los que quieren ir un poco más allá, existe un proyecto muy interesante llamado NAnt Contrib http://nantcontrib.sourceforge.net/ donde se pueden encontrar herramientas y Tareas (tasks) que no se incluyen en la distribución común de NAnt. Hay una versión estable http://nantcontrib.sourceforge.net/release/latest/help/tasks/index.html y una nighty http://nantcontrib.sourceforge.net/nightly/latest/help/ y como se puede leer en la advertencia en rojo en el encabezado de la página, su contenido está sujeto a cambios.

Existe una herramienta GUI, llamada NAnt GUI y puede descargarse desde http://nantgui.berlios.de/, nosotros no vamos a usarla ya que no funciona con el Framework 2.0 y tampoco con el generador de código AjGenesis 0.5, que es una herramienta con la que vamos a utilizar.

Por lo tanto vamos a trabajar sobre línea de comando.

Para ejecutar NAnt hay que acceder a la línea de comando y ubicarnos sobre la carpeta que contenga el archivo de configuración NAnt, por ejemplo, default.build

Si a continuación se tipea NAnt y enter, NAnt ejecutará el archivo de configuración que encuentre en la carpeta desde dónde se lanza y ejecuta la Tarea (task) que esté marcada cómo default y todas sus dependencias, si existen. Si se desea ejecutar una Tarea (task) en particular hay que escribir NAnt seguido del nombre de la Tarea (task) correctamente escrito, entonces NAnt ejecurará esa Tarea (task) y todas sus dependencias, si existen.

La idea es utilizar NAnt para encadenar las Tareas (tasks) que hacen al núcleo de la creación de una solución .NET, por ejemplo,

Eliminación de carpetas y archivos

Creación de carpetas,

Creación de Solución y Proyectos

Interrelación entre proyectos,

Creación de clases y su inclusión en los proyectos que correspondan

Generación de scripts de creación de Tablas y Stored Procedures y ocasionalmente su ejecución.

Compilado, etc.

En la próxima les cuento cómo integrar NAnt con AjGenesis, así ya generamos nuestros primeros artefactos. ;)

 

About these ads