Comments 9
А просто обновление по соответствию semver не работает? Или в Java нет semver?
У этого плагина есть особенность, что он предлагает версии RC
, M
, ALFA
и т.п. Нужно сделать как указано в их доке, чтобы получать только релизные обновления:
def isNonStable = { String version ->
def stableKeyword = ['RELEASE', 'FINAL', 'GA'].any { it -> version.toUpperCase().contains(it) }
def regex = /^[0-9,.v-]+(-r)?$/
return !stableKeyword && !(version ==~ regex)
}
tasks.named("dependencyUpdates").configure {
rejectVersionIf {
isNonStable(it.candidate.version)
}
}
А есть вообще способ заставить работать этот gradle без доступа к интернету? Даже простейший hello world для андроида - и то лезет что-то скачивать.
Поднять локальное зеркало репозитория пакетов и прописать настройки на него.
Как никак все менеджеры пакетов должны их откуда-то скачивать.
Я примерно так и сделал, скачал некую подборку maven offline, сделал как у них по инструкции. Но увы, все равно кто-то лезет в инет. Причем особенность там в том, что инет (там где я хочу все это поставить) есть, но специфический - пропускает запросы только с определенным user-agent. Я и с подменой заголовков играл - натыкаюсь на другие особенности, уже с https сертификатами и их подменой, версиями tls и прочим.
В общем, я к тому, что современный мир слишком завязан на инет. Исчезли те времена, когда можно было купить (или скачать) cd/dvd с полной оффлайн версией продукта (в том числе среды разработки) и спокойно пользоваться несколько лет, до выхода следующей верси. И это плохо еще тем, что вот такое самопроизвольно-непрерывное обновление всего и вся потенциально может что-то сломать в проекте. Программисты пакетов - тоже люди, и им тоже свойственно ошибаться.
Скачивает он все в локальный репозиторий, который и будет юзать впоследствии. Ну и всегда можно указывать локальные jar-ники в качестве зависимостей.
Intellij idea подсказывает что есть свежие версии
Как проверить наличие обновлений зависимостей в Gradle?