Вопрос

У меня здесь есть файл NAnt длиной в 300 строк, и он довольно запутанный.Мне интересно, существует ли какое-либо руководство по стилю написания сценариев NAnt и каковы наилучшие методы для этого.

Есть какие-нибудь советы?

Это было полезно?

Решение

Мне неизвестно о каком-либо опубликованном руководстве по стилю, но я, безусловно, могу поделиться своим опытом.Вы можете использовать многие из тех же методов, которые используются в других средах программирования, например, сделать код модульным и разбить его на несколько файлов.В среде, которую я настроил, каждый проект устроен следующим образом:"[ProjectName]\Common" содержит общий файл сборки, который связан почти со всеми моими проектами.У меня также есть набор общих целей subversion, хранящихся там в файле.Подкаталог "Common" на самом деле является svn: external, поэтому он автоматически синхронизируется в нескольких проектах.В файле Common.build есть множество свойств среды, а также несколько повторно используемых наборов файлов, несколько повторно используемых целевых объектов и целевой объект "StartUp", который используется целью каждого проекта "StartUp".

"[Имяпроекта]\Project.build" содержит все эти специфические для проекта свойства и наборы файлов, некоторые из которых переопределяют настройки из Common.build.Этот файл также содержит целевой объект "StartUp", который устанавливает некоторые параметры среды выполнения, такие как информация о версии сборки и любые зависимые пути.Он также выполняет цель "Startup" из Common.build.Этот файл включает в себя файл Common.build.

"[ProjectName][AssemblyName].build" содержит все настройки и целевые объекты, характерные для отдельной сборки.Этот файл включает Project.build, который, в свою очередь, включает Common.build.

Эта иерархия хорошо работает в нашей ситуации, когда мы создаем магистральную версию и несколько ответвлений продукта на сервере непрерывной интеграции.В нынешнем виде единственные различия между сценариями для создания магистральной версии и любой из ветвей составляют всего несколько строк.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top