Question

J'ai ici 300 lignes de long fichier NAnt et c'est assez désordonné. Je me demande s’il existe un guide de rédaction pour la rédaction de scripts NAnt et quelles sont les meilleures pratiques pour le faire.

Des conseils?

Était-ce utile?

La solution

Je ne connais aucun guide de style publié, mais je peux certainement partager mon expérience. Vous pouvez utiliser de nombreuses techniques identiques à celles utilisées dans d'autres environnements de programmation, telles que la modularisation du code et sa division en plusieurs fichiers. Dans l'environnement que j'ai mis en place, chaque projet est structuré comme suit: " [NomProjet] \ Commun " contient un fichier de construction commun qui est lié à presque tous mes projets. J'ai également un ensemble de cibles de subversion communes stockées dans un fichier. Le " Commun " Le sous-répertoire est en fait un svn: external, il est donc automatiquement synchronisé sur plusieurs projets. Dans le fichier Common.build, il existe de nombreuses propriétés environnementales, ainsi que des ensembles de fichiers réutilisables, des cibles réutilisables et un "StartUp". cible utilisée par chaque projet " StartUp " cible.

& [; NomProjet] \ Project.build " contient toutes les propriétés et les ensembles de fichiers spécifiques de ce projet, dont certains remplacent les paramètres de Common.build. Ce fichier contient également un " StartUp " cible qui configure certains paramètres d’exécution, tels que les informations sur la version de l’assemblage et tous les chemins dépendants. Il exécute également le " Startup " cible de Common.build. Ce fichier comprend le fichier Common.build.

& [ProjectName] [AssemblyName] .build " contient tous les paramètres et cibles spécifiques à un assemblage individuel. Ce fichier inclut le fichier Project.build, qui inclut à son tour le fichier Common.build.

Cette hiérarchie fonctionne bien dans notre situation, qui nous oblige à créer une version de coffre et plusieurs versions de branche d'un produit sur un serveur à intégration continue. Dans l'état actuel des choses, les seules différences entre les scripts de construction de la version principale et l'une des branches ne sont que quelques lignes.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top