Мы строим несколько библиотек, используя свертку, и между библиотеками есть зависимости.
например, мы создаем библиотеку A, которая определяет несколько классов.
класс экспорта Foo {..}
Библиотека B реализует классы расширения библиотеки A. Например,
import {Foo} из класса 'A'. Bar расширяет Foo {..}
Библиотека C использует instanceof для проверки экземпляров классов в библиотеке A.
import {Foo } from 'A'
if (экземпляр Foo) ... do stuff
Некоторое веб-приложение затем загружает A, B и C, потому что оно должно взаимодействовать с классами, определенными в все 3 библиотеки. Мы создаем коллекцию приложений, использующих нашу библиотеку инструментов.
Проблема в том, что библиотека A обновляется каким-либо образом. Даже небольшая ошибка исправлена. Библиотеки B и C также должны быть переизданы, иначе что-то пойдет не так. Я думаю, что накопительный пакет выполняет загрузку класса A несколько раз, по одному разу для каждой найденной сборки. Только если все сборки идентичны , он загрузит только одну.
Это приводит к ужасному сбою в работе всего. Наше решение состоит в том, чтобы постоянно переиздавать все зависимые библиотеки, когда освобождается любая библиотека, но это является бременем и вызывает массу лишних выпусков на зависимых библиотеках.
В любом случае, можно ли сделать сводку чуть более прощающей, как отслеживать зависимости? в идеале незначительные обновления патчей можно считать одинаковыми и не приводить к многократной загрузке библиотеки в память.