Romanov - 2018-01-15

Описание проблемы:
Обновление сценария сборки прикладного модуля build.xml (копирование его из актуальной версии JepRiaShowcase) могло порождать ошибки вида

class com.technology.jep.jepriatoolkit.check.IncludeSystemDependency cannot be found using the classloader AntClassLoader[]

при сборке приложения (а именно, при подключении системных зависимостей).

Причина ошибки:
Ошибка означает неверную зависимость jepria-toolkit, объявленную в файле dependency.properties: подключена неактуальная версия, в которой еще не был реализован функционал подключения системных зависимостей.

Решение:
При обновлении сценария сборки прикладного модуля build.xml (при копировании его из актуальной версии JepRiaShowcase) единовременно нужно обновить все вспомогательные файлы: build.properties, dependency.properties, local.properties, test.properties, а также обновить их в папке config (если они там присутствуют).

Неполное обновление набора файлов — например, обновился build.xml, но dependency.properties остался старым — является некорректным и может повлечь ошибки при выполнении сценария сборки.

Особенности реализации:
При сборке модуля инструментом ant используются статические наборы свойств:

<path id="libs">
  <pathelement location="/some/awesome/library.jar" />
  ...
</path>

Привязка их значений (в том числе из файла с системными зависимостями) происходит до выполнения целей (объявленных как target). Поскольку механизм проверки корректности подключенных библиотек является целью (check-dependencies), с помощью него невозможно проверить корректность подключенной библиотеки jepria-toolkit на этапе статического связывания свойств.

Обратить внимание:
Файлы build.config и dependency-jepria.properties являются генерируемыми, и добавлять их в репозиторий не нужно.

Преимущества: