Pergunta

Eu tenho arquivo NAnt aqui 300 linhas de comprimento e é bastante confuso. Eu estou querendo saber se há um guia qualquer estilo para escrever scripts NAnt e quais são as melhores práticas para fazê-lo.

Todas as dicas?

Foi útil?

Solução

Eu não estou ciente de qualquer guia de estilo publicada, mas eu certamente pode partilhar a minha experiência. Você pode usar muitas das mesmas técnicas usadas em outros ambientes de programação, tais como tornar o código modular e dividindo-o em vários arquivos. No ambiente que criaram, cada projeto é definida assim: "[ProjectName] \ Common" contém um arquivo de construção comum que está ligado a quase todos os meus projetos. Eu também tenho um conjunto de metas de subversão comuns armazenados em um arquivo lá. O subdiretório "comum" é na verdade um svn: externos, por isso é automaticamente mantidos em sincronia entre vários projectos. No arquivo Common.build, há muitas propriedades ambientais, além de alguns conjuntos de arquivos reutilizáveis, alguns alvos reutilizáveis, e um alvo "StartUp", que é usado por cada projeto "StartUp"-alvo.

"[ProjectName] \ Project.build" contém todos que as propriedades de projetos específicos e conjuntos de arquivos, alguns dos quais substituem as configurações de Common.build. Este arquivo também contém um "StartUp" target que estabelece algumas configurações de tempo de execução, como informações sobre a versão de montagem e todos os caminhos dependentes. Ele também executa o alvo "Startup" de Common.build. Este arquivo inclui o arquivo Common.build.

"[ProjectName] [AssemblyName] .build" contém todas as configurações e metas específicas para uma montagem individual. Este arquivo inclui o Project.build, que por sua vez inclui o Common.build.

Esta hierarquia funciona bem na nossa situação, que tem-nos construir uma versão tronco e várias versões de filial de um produto em um servidor de integração contínua. Tal como está agora, as únicas diferenças entre os scripts para construir a versão tronco e qualquer um dos ramos são apenas um punhado de linhas.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top