Использование ant — различия между версиями
Материал из DevelopmenOnTheEdge
Lan (обсуждение | вклад) (→Переменные) |
Lan (обсуждение | вклад) (→Переменные) |
||
Строка 19: | Строка 19: | ||
* '''BE4_LOG_DIR''' — если задано, данный каталог будет использован для логирования BE4-операций. | * '''BE4_LOG_DIR''' — если задано, данный каталог будет использован для логирования BE4-операций. | ||
* '''BE4_DEBUG''' — если "true", будет выводиться дополнительная отладочная информация в stderr. | * '''BE4_DEBUG''' — если "true", будет выводиться дополнительная отладочная информация в stderr. | ||
+ | * '''BE4_FORCE_UPDATE''' — если "true", будут выполняться потенциально опасные изменения в схеме базы данных (которые могут привести к потере пользовательских данных). | ||
* '''BE4_<имя_модуля>''' — если true, то будут использованы метаданные из BE4-модуля (BE4-модуль должен существовать), иначе — из старого BE-модуля с тем же именем. | * '''BE4_<имя_модуля>''' — если true, то будут использованы метаданные из BE4-модуля (BE4-модуль должен существовать), иначе — из старого BE-модуля с тем же именем. |
Версия 11:53, 28 ноября 2014
В проектах на be4 определены следующие ant-таргеты:
- be.validate — валидация проекта (вычитывание всех файлов, базовые проверки на корректность, исполнение всего Freemarker; никаких обращений к базе не делается)
- be.update — инкрементальное обновление схемы, метаданных и локализаций. Если обновление схемы может привести к потере данных, операция будет отклонена. Для принудительного выполнения определите BE4_FORCE_UPDATE=true
- be.meta — инкрементальное обновление метаданных (включая roles, icons, references, page customizations, pages)
- be.locale — инкрементальное обновление локализаций
- be.ddl — инкрементальное обновление схемы. Для принудительного выполнения определите BE4_FORCE_UPDATE=true.
- be.ddl.check — вывод SQL-предложений, которые потребуются для инкрементального обновления схемы. Никаких изменений в базу не вносится.
- setup.db — полное разворачивание базы с нуля (как в BE)
- setup.meta — полное внесение метаданных и локализаций
- setup.just.meta — полное внесение метаданных
- setup.locale — полное внесение локализаций
- setup.adhoc — выполнение одного или нескольких FTL-скриптов из custom steps (передаются параметром -DA_SCRIPT='script1;script2'). Можно запускать скрипты из модуля (-DA_SCRIPT='realty:dictionaries') либо из всех модулей, где такой скрипт есть (-DA_SCRIPT='all:dictionaries')
- main (таргет по умолчанию) — сборка war
Переменные
Имеются следующие BE4-специфичные переменные
- BE4_DIR — каталог с проектом be4 (без него ничего не заработает)
- BE4_PROFILE — если задано, указывает профиль соединения к базе данных (из connectionProfiles.*.yaml), который необходимо использовать.
- BE4_LOG_DIR — если задано, данный каталог будет использован для логирования BE4-операций.
- BE4_DEBUG — если "true", будет выводиться дополнительная отладочная информация в stderr.
- BE4_FORCE_UPDATE — если "true", будут выполняться потенциально опасные изменения в схеме базы данных (которые могут привести к потере пользовательских данных).
- BE4_<имя_модуля> — если true, то будут использованы метаданные из BE4-модуля (BE4-модуль должен существовать), иначе — из старого BE-модуля с тем же именем.
Только с таргетом be.validate:
- BE4_RDBMS=mysql/postgres/oracle/db2/sqlserver/m4 — если задано, валидация будет выполняться с использованием соответствующей СУБД (это может повлиять на выполнение условных секций в FTL, результат разворачивания макросов, включения extras и т. д.).
- BE4_CHECK_QUERY="entity.query" — если задано, текст указанного запроса после выполнения FTL будет выведен на экран). Если указана фиктивная BE4_RDBMS=m4, на место СУБД-специфичных FTL-функций будут подставлены соответствующие m4-функции (может пригодиться для обратного портирования кода в m4).
- BE4_CHECK_DDL=entity — если задано, DDL, необходимый для создания указанной сущности будет выведен на экран. Если указана фиктивная BE4_RDBMS=m4, будет сгенерирован соответствующий m4-код (может пригодиться для обратного портирования кода в m4).
Задачи
При редактировании ant-скриптов можно использовать следующие задачи (tasks):
- be4.db — создание базы по BE4-проекту. Параметры:
- modules: если true, будут использованы BE4-модули
- be4.meta — синхронизация. Параметры:
- modules: если true, будут использованы BE4-модули
- mode: режим синхронизации (all, meta, locale, ddl, security)
- be4.data — выполнение скрипта или набора скриптов. Параметры:
- scriptName: имена скриптов через точку с запятой. Можно написать moduleName:scriptName для выполнения скрипта из модуля, либо all:scriptName для выполнения скрипта с таким именем из всех модулей.
- be4.validate — валидировать BE4-проект и (для немодульного проекта) заполнить свойства ANT из модели
У всех задач есть общие параметры:
- projectPath (обязательно) — путь к проекту
- logDir — каталог для логирования (переопределяет переменную BE4_LOG_DIR)
Для компиляции самого BE4 (в объёме необходимом для последующего использования вышеуказанных ant-таргетов) необходимо набрать ant в каталоге be4/src. Не требуется никаких внешних зависимостей.