-
Notifications
You must be signed in to change notification settings - Fork 14
Категория:Want. Теги
Alexey Shumkin edited this page Jun 21, 2019
·
1 revision
Nota bene: все теги имеют атрибуты:
- description - описание. Используется при логгировании, отладке.
- if - значение вычисляется (задача выполняется), если определено свойство, заданное этим атрибутом
- unless - то же, что и not if, т. е. "если не"
- ifdef - то же, что if
- ifndef - то же, что unless
Основной тег. Содержит все другие теги. Имеет атрибуты:
- basedir — корневая папка проекта. Доступно в свойствах
- name — имя проекта. Доступно в свойствах (c v0.11.29)
- default — задача, выполняемая по умолчанию, если при запуске Want не указано ни одной задачи
- require — требуемая версия WANT (не ниже)
- Прим. только в версии ОТР, начиная с v0.11.29
Определяет свойство, значение которого вычисляемо, и на которое можно сослаться.
- name - имя, по которому потом идёт к нему обращение. Если при присвоении имя начинается с # (рёшетка), устанавливается свойство проекта
- value - устанавливаемое значение.
- path - неизвестно как используется
- section - секция файла в ini-формате, из которой читаются свойства и их значения
- file - задаёт файл, из которого читаются свойства и их значения (name=value). Если задан атрибут section файл считается в формате ini
- overwrite - признак переопределения значения свойства.
Свойство, работающее с PERL-совместимыми регулярными выражениями (regular expression = regexp).
- property - имя свойства
- text - исходное значение
- pattern - шаблон regexp
- subst - шаблон замены.
- trim - неизвестно где используется
- overwrite - то же, что и property.overwrite
- toupper - приведение результата к верхнему регистру
- tolower - приведение результата к нижнему регистру (только если не задан toupper)
Представляет набор/список файлов.
- id — идентификатор данного набора/списка
- refid — идентификатор другого набора/списка, который включается в этот
- include,
- exclude — включение/исключение файлов по маске
- name — путь/маска
<patternset id="sources" > <include name="${lib}/" /> <include name="${lib}/jcl/source" /> <include name="${src}/" /> <include name="${src}/**" /> </patternset> <patternset id="resources"> <patternset refid="sources"/> <include name="${bin}" /> </patternset>
Задаёт "стандартные" свойства по формату (см. функцию Delphi FormatDateTime):
- dstamp - 'yyyymmdd'
- tstamp - hhnn
- today - mmm ddd d yyyy
- year - yyyy
- month - mm
- day - dd
- hour - hh
- minute - nn
- second - ss
- ticks - количество миллисекунд
- format - форматирует время по пользовательскому формату. Имеет атрибуты:
- property - имя свойства
- pattern - шаблон форматирования
Обращение к свойствам происходит в следующем виде: префикс{имя_свойства}, где префикс:
- % - получает значение переменной окружения
- $ - получает значение свойства
- = - вычисляет выражение
- ? - получает значение из ini-файла. При этом ?{имя_ini_файла:секция:ключ}
- @ - вычисляет значение пути, относительно корневого пути
%{COMSPEC}
${project.name}
={1+1}
?{${project.dof}:Version Info Keys:FileVersion}
@{/../resources}
Nota bene: Значения свойств вычисляются до выполнения задач, даже если они заданы в задачах.
Выполняемая задача.
- name — имя
- depends — список задач, перечисленных через запятую, от которых зависит данная задача (т. е. те, которые выполняются перед данной задачей)
- foreach — список значений или список файлов, перечисленных через запятую, для каждого из которых требуется выполнить данную задачу; при указании имен файлов можно использовать стандартные групповые символы (* или ?) для создания масок
- foreachlist — признак того, что foreach является списком значений (а не списком файлов), перечисленных через запятую или точку с запятой.
- Cуществует только в версии > 0.11.25
- property - используется при выполнении задачи в цикле foreach; задает название свойства, содержащего имя файла из списка foreach, для которого выполняется текущая итерация задачи; если атрибут property не задан, используется свойство ${each}
- if (см. if свойств проекта)
Может содержать подзадачи (указаны изменения в доработанной версии):
- brcc
- cvs
- cvstagdiff
- cvspass
- cvschangelog
- echo
- edit — изменена. Изменена обработка атрибута text
- encode — задача добавлена
- exec — изменена. Добавлен атрибут ansi.
- copy
- dcc — изменена. Добавлена обработка user overrided environment variables при uselibrarypath
- decode — задача добавлена
- delete
- dunit
- gorc — задача добавлена
- gunzip
- gzip
- hash — задача добавлена
- ini
- innosetupcompile
- input — изменена. Учитывается кириллица в message (конвертируется, если указан ключ -ansi при запуске Want). Добавлен тег numbered.
- loadfile
- log
- mkdir
- move
- rc — задача добавлена
- shell
- style — исправлены ошибки при работе с путями
- svn — задача добавлена
- svnauth — задача добавлена
- svncommit — задача добавлена
- svndiff — задача добавлена
- svnlastrevision — задача добавлена
- tempfile — исправлены ошибки при работе с путями
- touch
- unzip
- want — изменена. Добавлена передача и получение переменных
- xmlproperty
- zip