Автоматизированная сборка проектов на Delphi с помощью WANTИсточник: delphiplus Игорь Фомин
WANT (sourceforge.net/projects/want) - Open Source система для автоматизированной сборки, тестирования и упаковки проектов, написанных на Borland Delphi (замена make). Система WANT сама написана на Delphi и является аналогом Jakarta Ant для Java. WANT позволяет выполнять следующие задачи:
Описание процесса сборки хранится в файле want.xml. Проект состоит из задач (targets), каждая из которых имеет свое имя и может зависеть от других задач, в таком случае сначала выполняются задачи, необходимые для ее завершения. Задачи запускаются на исполнение из командной строки: want.exe <имя_задачи> Рассмотрим пример использования WANT. Создайте папку, в ней должны располагаться файлы want.exe и want.xml, проект Delphi с именем Test положите в папку source. Что же содержит файл описания процесса сборки - want.xml? Первый тэг - описание проекта и его свойств, корневой папки проекта (basedir) и задачи по умолчанию (default). <project name="test" описываем свойство "дата сборки проекта" <tstamp> Перечисляем необходимые свойства. Все свойства задаются в формате имя (name) и значение (value). Можно использовать значения свойств, определенных выше, для это существует формат записи ${имя_свойства} <property name="src" value="${basedir}/source" /> Описываем задачу. Внутри перечисляем, что нужно выполнить. Здесь осуществляется только вывод текста на экран. <target name="help"> Еще одна задача - создание каталогов (mkdir), ее параметр - имя создаваемого каталога (dir). <target name="prepare"> Задача компиляции проекта (compile) зависит (depends) от задачи prepare. Порядок исполнения - сначала prepare, потом compile. Задача компиляции включает в себя два этапа: dcc (консольный компилятор) и exec (запуск приложения). У dcc следующие параметры:
Параметры exec:
<target name="compile" depends="prepare"> Задачи формирования архивов с исходниками проекта и скомпилированного приложения:
<target name="dist_src" depends="prepare"> Сохраняем файл и в консоли набираем want all. В результате должны выполнится все перечисленные задачи (см. рис). В случае ошибки при выполнении любой из задач выводится сообщение об ошибке и сборка прекращается. Остальные действия в WANT описываются аналогично. На данный момент документации по WANT немного, поэтому лучшим вариантом будет изучение исходников с sourceforge, а также документации на Ant (jakarta.apache.org/ant/index.html). |