Проблема артефактов кэширования зависимостей Gradle - PullRequest
0 голосов
/ 12 июня 2019

У нас есть одна зависимость gradle, которая имеет то же имя, но сильно меняется, поэтому мы хотим всегда получать ее заново.Зависимость сохраняется в артефакте, и ее содержимое:

entity-configurator-0.6.2-staging-sources.jar   12-Jun-2019 09:33  110.19 KB
entity-configurator-0.6.2-staging.jar           12-Jun-2019 09:33  147.37 KB
entity-configurator-0.6.2-staging.pom           12-Jun-2019 09:33  3.01 KB

Мы использовали описанную здесь стратегию разрешения https://stackoverflow.com/a/14804849. Это код build.gradle.

configurations.all {
    resolutionStrategy {
        cacheDynamicVersionsFor 0, "seconds"
        cacheChangingModulesFor 0, "seconds"
    }
}
...
...
compile ('com.***:entity-configurator:0.6.2-staging') { changing = true }

Это должно заставить грейдера всегда проверять актуальность зависимости.Что, вероятно, делает, но не правильно, так как при запуске

./gradlew build --info

вывод равен

> Task :compileJava
Cached resource https://artifactory.***.net/artifactory/libs-staging-local/com/***/entity-configurator/0.6.2-staging/entity-configurator-0.6.2-staging.pom is up-to-date (lastModified: Wed Jun 12 11:33:33 CEST 2019).
Cached resource https://artifactory.***.net/artifactory/libs-staging-local/com/***/entity-configurator/0.6.2-staging/entity-configurator-0.6.2-staging.jar is up-to-date (lastModified: Wed Jun 12 12:12:36 CEST 2019).
Skipping task ':compileJava' as it is up-to-date.

В этом случае сама зависимость была обновлена ​​в артефакте, но не обновленав моем проекте после обновления Gradle.Проблема здесь в том, что они являются двумя разными частями искомой зависимости (.jar и .pom), и оба имеют разное время lastModified.

Cached resource https://artifactory.***.net/artifactory/libs-staging-local/com/***/0.6.2-staging/entity-configurator-0.6.2-staging.pom is up-to-date (lastModified: Wed Jun 12 11:33:33 CEST 2019).

vs

Cached resource https://artifactory.***.net/artifactory/libs-staging-local/com/***/0.6.2-staging/entity-configurator-0.6.2-staging.jar is up-to-date (lastModified: Wed Jun 12 12:12:36 CEST 2019).

Время файла .jar последнего измененного корректно,Пом, очевидно, из предыдущей версии зависимости.Когда я проверяю папку .gradle / cache после обновления проекта, появляется новый файл .jar, но .pom все еще из предыдущей версии.Кто-нибудь знает, в чем здесь проблема и как ее решить?Я действительно не понимаю, почему файл .pom не обновляется.

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