Дистрибутив Tar не учитывает зависимости проекта - PullRequest
0 голосов
/ 22 сентября 2019

У меня многопроектная сборка.Проекты имеют как внешние, так и внешние зависимости.Во время компиляции зависимости проекта хорошо распознаются, однако в окончательном tar (созданном плагином распространения) вместо вновь созданного файла вместо старых созданы старые файлы snpashot.

Уже пытались удалить кэш, поведение по-прежнемутакой же.Выяснилось, что это происходит только для проектов, которые создают файл .jar, имя которого ранее уже было включено в качестве внешней зависимости .jar.

Например: Project: service: My-Service имеет зависимость проекта от: shared:My-Shared-Lib и: shared: New-Shared-Lib.My-Service будет правильно использовать My-Shared-Lib и New-Shared-Lib во время компиляции.По какой-то причине .tar, создаваемый плагином распространения, не будет включать те же зависимости, которые использовались во время компиляции.Он будет включать в себя недавно созданный .jar из проекта New-Shared-Lib, которого раньше не было.Однако, поскольку My-Shared-Lib создает файл .jar, имя которого ранее использовалось в качестве внешней зависимости, gradle, похоже, запутывается и загружает старую версию из хранилища.

build.gradle в: service:My-Service:

dependencies {
    implementation project(':shared:My-Shared-Lib')  // earlier on included by implementation 'org.example:My-Shared-Lib:10.+'
    implementation project(':shared:New-Shared-Lib') // totally new, never pushed to the repo before
}

Я ожидаю, что gradle будет использовать те же самые зависимости, которые использовались во время сборки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...