Использование ant — различия между версиями

Материал из DevelopmenOnTheEdge
Перейти к: навигация, поиск
(+be.ddl/be.ddl.check)
Строка 1: Строка 1:
 
В проектах на be4 определены следующие ant-таргеты:
 
В проектах на be4 определены следующие ant-таргеты:
 
* '''be.validate''' — валидация [[Project|проекта]] (вычитывание всех файлов, базовые проверки на корректность, исполнение всего [[Freemarker]]; никаких обращений к базе не делается)
 
* '''be.validate''' — валидация [[Project|проекта]] (вычитывание всех файлов, базовые проверки на корректность, исполнение всего [[Freemarker]]; никаких обращений к базе не делается)
* '''be.update''' — инкрементальное обновление схемы, метаданных и локализаций
+
* '''be.update''' — инкрементальное обновление схемы, метаданных и локализаций. Если обновление схемы может привести к потере данных, операция будет отклонена. Для принудительного выполнения определите BE4_FORCE_UPDATE=true
 
* '''be.meta''' — инкрементальное обновление метаданных (включая roles, icons, references, page customizations, pages)
 
* '''be.meta''' — инкрементальное обновление метаданных (включая roles, icons, references, page customizations, pages)
 
* '''be.locale''' — инкрементальное обновление локализаций
 
* '''be.locale''' — инкрементальное обновление локализаций
* '''be.db''' — пересоздание таблиц базы данных, определённых в приложении (содержимое таблиц будет удалено)
+
* '''be.ddl''' — инкрементальное обновление схемы. Для принудительного выполнения определите BE4_FORCE_UPDATE=true.
 +
* '''be.ddl.check''' — вывод SQL-предложений, которые потребуются для инкрементального обновления схемы. Никаких изменений в базу не вносится.
 
* '''setup.db''' — полное разворачивание базы с нуля (как в BE)
 
* '''setup.db''' — полное разворачивание базы с нуля (как в BE)
 
 
* '''setup.meta''' — полное внесение метаданных и локализаций
 
* '''setup.meta''' — полное внесение метаданных и локализаций
 
* '''setup.just.meta''' — полное внесение метаданных
 
* '''setup.just.meta''' — полное внесение метаданных
 
 
* '''setup.locale''' — полное внесение локализаций
 
* '''setup.locale''' — полное внесение локализаций
 
* '''setup.adhoc''' — выполнение одного или нескольких FTL-скриптов из custom steps (передаются параметром -DA_SCRIPT='script1;script2'). Можно запускать скрипты из модуля (-DA_SCRIPT='realty:dictionaries') либо из всех модулей, где такой скрипт есть (-DA_SCRIPT='all:dictionaries')
 
* '''setup.adhoc''' — выполнение одного или нескольких FTL-скриптов из custom steps (передаются параметром -DA_SCRIPT='script1;script2'). Можно запускать скрипты из модуля (-DA_SCRIPT='realty:dictionaries') либо из всех модулей, где такой скрипт есть (-DA_SCRIPT='all:dictionaries')
 
 
* '''main''' (таргет по умолчанию) — сборка war
 
* '''main''' (таргет по умолчанию) — сборка war
  

Версия 11:03, 4 сентября 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_CHECK_QUERY="entity.query" — (только с таргетом be.validate) если задано, текст указанного запроса после выполнения FTL будет выведен на экран).
  • BE4_<имя_модуля> — если true, то будут использованы метаданные из BE4-модуля (BE4-модуль должен существовать), иначе — из старого BE-модуля с тем же именем.

Задачи

При редактировании 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. Не требуется никаких внешних зависимостей.