2008-09-18 11 views
8

J'ai ici 300 lignes long fichier NAnt et il est assez salissant. Je me demande s'il existe un guide de style pour écrire des scripts NAnt et quelles sont les meilleures pratiques pour le faire.NAnt meilleures pratiques

Des conseils?

Répondre

5

Je ne connais aucun guide de style publié, mais je peux certainement partager mon expérience. Vous pouvez utiliser plusieurs des mêmes techniques utilisées dans d'autres environnements de programmation, par exemple en rendant le code modulaire et en le répartissant sur plusieurs fichiers. Dans l'environnement que j'ai mis en place, chaque projet est présenté comme suit: "[ProjectName] \ Common" contient un fichier de construction commun qui est lié à presque tous mes projets. J'ai aussi un ensemble de cibles de subversion communes stockées dans un fichier là-bas. Le sous-répertoire "Common" est en fait un svn: external, donc il est automatiquement synchronisé sur plusieurs projets. Dans le fichier Common.build, il y a beaucoup de propriétés environnementales, plus quelques ensembles de fichiers réutilisables, quelques cibles réutilisables, et une cible "StartUp" qui est utilisée par chaque cible "StartUp" de projets. "[ProjectName] \ Project.build" contient toutes les propriétés et tous les ensembles de fichiers spécifiques au projet, dont certains remplacent les paramètres de Common.build. Ce fichier contient également une cible "StartUp" qui définit certains paramètres d'exécution, tels que les informations de version d'assembly et les chemins dépendants. Il exécute également la cible "Startup" à partir de Common.build. Ce fichier inclut le fichier Common.build. "[ProjectName] [AssemblyName] .build" contient tous les paramètres et les cibles spécifiques à un assembly individuel. Ce fichier inclut Project.build, qui à son tour inclut le Common.build.

Cette hiérarchie fonctionne bien dans notre situation, qui consiste à construire une version de ligne réseau et plusieurs versions de branche d'un produit sur un serveur d'intégration continue. À l'heure actuelle, les seules différences entre les scripts de construction de la version du tronc et l'une des branches sont seulement une poignée de lignes.