У меня проблема с алгоритмом зависимостей, зависимость аналогична зависимости от maven, за исключением строгой версии.
Например:
component A, version 1 depends on: component B, version 1~3; and component C, version 2~3
component D, version 1 depends on: component B, version 2~4; and component C, version 1~2
Теперь я хочу получить зависимости, когда хочу установить компонент A, версию 1 и компонент D, версию 1. Потому что все они зависят от компонента B, C, поэтому мне нужен правильный алгоритм для получения правильной версии B и С
Кроме того, мне может понадобиться обновить компоненты A и D. Например, теперь у меня есть ниже новых версий:
component A, version 2 depends on: component B, version 3~5; and component C, version 4~5
component A, version 3 depends on: component B, version 6~7; and component C, version 4~5
component D, version 2 depends on: component B, version 3~4; and component C, version 3~4
Теперь мне нужен алгоритм для получения правильной версии A и D, которую я могу обновить до и всех их зависимостей. Одна из проблем заключается в том, что компонент A, версия 3 и компонент D, версия 2 имеет конфликт зависимостей компонента B
Существует ли существующий алгоритм для решения такой проблемы? Или аналогичная (более простая) проблема. Есть ли у вас предложения?
Как не должно быть большого количества данных, поэтому не учитывайте производительность.
Спасибо заранее!