Pregunta

Tengo aquí un archivo NAnt de 300 líneas de largo y es bastante complicado.Me pregunto si existe alguna guía de estilo para escribir scripts NAnt y cuáles son las mejores prácticas para hacerlo.

¿Algun consejo?

¿Fue útil?

Solución

No conozco ninguna guía de estilo publicada, pero ciertamente puedo compartir mi experiencia.Puede utilizar muchas de las mismas técnicas que se utilizan en otros entornos de programación, como hacer que el código sea modular y dividirlo en varios archivos.En el entorno que he configurado, cada proyecto se presenta así:"[Nombre del proyecto]\Common" contiene un archivo de compilación común que está vinculado a casi todos mis proyectos.También tengo un conjunto de objetivos de subversión comunes almacenados en un archivo allí.El subdirectorio "Común" es en realidad un svn:external, por lo que se mantiene sincronizado automáticamente en varios proyectos.En el archivo Common.build, hay muchas propiedades ambientales, además de algunos conjuntos de archivos reutilizables, algunos objetivos reutilizables y un objetivo de "Inicio" que utiliza cada objetivo de "Inicio" del proyecto.

"[ProjectName]\Project.build" contiene todas las propiedades y conjuntos de archivos específicos de ese proyecto, algunos de los cuales anulan la configuración de Common.build.Este archivo también contiene un destino de "Inicio" que configura algunas configuraciones de tiempo de ejecución, como información de la versión del ensamblado y cualquier ruta dependiente.También ejecuta el objetivo "Inicio" de Common.build.Este archivo incluye el archivo Common.build.

"[ProjectName][AssemblyName].build" contiene todas las configuraciones y objetivos específicos de un ensamblaje individual.Este archivo incluye Project.build, que a su vez incluye Common.build.

Esta jerarquía funciona bien en nuestra situación, que nos obliga a crear una versión troncal y varias versiones de rama de un producto en un servidor de integración continua.Tal como están las cosas ahora, las únicas diferencias entre los scripts para construir la versión troncal y cualquiera de las ramas son solo un puñado de líneas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top