Romanov - 2017-08-29

Краткое описание: Среди зависимостей приложения большую часть составляют зависимости, необходимые для компиляции системной билиотеки, а не собственно прикладного кода. В связи с этим вероятны коллизии весрий, когда код библиотеки, написанный под некоторую зависимость (v1), при сборке проекта компилируется с использованием зависимости другой версии (v2). Контролирование зависимостей усложняет работу и перевод приложений на очередные версии библиотек.
Реализация: Зависимости, необходимые только системной библиотеке, указаны в файлеjepria-dependency.jar/dependency.properties и лежат в бинарном репозитории рядом с jar-файлами библиотеки Jepria. Прикладные зависимости не дублируют системные, а содержат лишь те, которые необходимы для компиляции прикладного кода. При сборке приложения системные зависимости автоматически распаковываются и включаются наряду с прикладными (указанными в App/dependency.properties проекта) с меньшим приоритетом (это позволяыет переопределять одноименные системные зависимости прикладными).
Обратить внимание: Удаление ненужных в прикладном коде (системных) зависимостей из файла App/dependency.properties производится вручную разработчиком при переводе приложения на очередную версию системной библиотеки.