Alguien a empaquetado la ayuda de NAnt 08.4, incluidas las paginas del wiki. http://danpupek.homeip.net/tools/nAnt-Help.pdf
Hace algunos posts, comentaba la falta de NAnt de tareas para
automatizar el mantenimiento de versiones.
En la versión 0.8.4 de NAnt y NAnt.Contrib tenemos las tareas:
version que actualiza un fichero "build.number" y
asminfo que crea un fichero AssemblyInfo.cs basándonse en la información parametrizable.
Sin embargo, no he encontrado la manera de :
Mi primera aproximación fue escribir unas tareas de NAnt que mediante
script lee la versión actual, y usando
exec llamaba a UpdateVersion.exe.
Como creo que estas tareas son necesarias, las he empaquetado en el Assembly: NAnt.Versioning.Tasks
Que teneis disponible en RidoCode Workspace (buscar el Releases)
La palabra framework es una de tantas palabras sobrecargadas.
Parece que los buenos desarrolladores desarrollan frameworks que son reutilizables, y parece que ya sólo por eso son mejores, sin embargo la realidad es que de tantos frameworks disponibles ahi fuera, muy pocos son realmente rentables.
En este post Michael Feathers habla largo y tendido al respecto. Estoy totalmente de acuerdo.
Dejemos los ambiciosos framewroks, y pasemos a seedworks
Esta claro, no depende del lenguaje, depende del compromiso con la calidad del trabajo que hacemos,
en sitios como http://www.qualityprogramming.org/
encontramos webs que hablan de tareas que tienen que ver con codigo pero sin codigo de por medio.
me ha gustado mucho el enfoque, no es tan radical como XP pero en el fondo habla de lo mismo.
desde aqui es dificil no saltar a http://www.sharpdevelopment.com/
otro sitio en el que encontramos interesante literatura acerca de patrones, prácticas y artículos acerca del diseño OO.
La integración continua consiste en compilar y ejecutar las pruebas unitarias continuamente.
Hoy me he encontrado con una herramienta que permite realizar todas estas tareas,
apoyandose en nant y nunit.
CruiseControl.NET está desarrollada por
ThoughtsWorks y se ha publicado como OSS.
De momento estoy flipando con los scripts de NAnt, las fuentes C#, el UI Web...
Es una pena que nant no tenga una tarea específica para actualizar el número de la versión que compilas.
Gracias a google parece que alguien ya se lo ha currado:
http://code.mattgriffith.net/UpdateVersion/
Sigo flipando con nant.
Viendo las tareas de nant.contrib me sorprendio encontrar codestats
Y he decidio ampliar la tareas para que cuente las clases publicas que hay en un grupo de assemblies dado.
Como siempre los interesados pueden descargarse una temprana version de mi
wokspace en GotDotNet
La versión actual de NAnt no soporta NUNit 2.1, que como no, es la versión con la que estamos escribiendo los UnitTests.
La primera opción parecia ejecutar las pruebas fuera del script de NAnt,
pero los proyectos open source permiten ser más ágil cuando te encuentras estas incompatibilidades, gracias a John Lam hay forma de arreglarlo: http://www.iunknown.com/000342.html
Esta semana me ha tocado montar el sistema de compilación del proyecto en el que estamos trabajando.
He estado evaluando varias opciones y parece que la mejor es: