#gradle
#gradle
Вопрос:
Из-за определенных обновлений и изменений фреймворка мне нужно использовать СНИМОК фреймворка LibGDX в моем приложении. В результате часто выходят новые обновления, иногда с нежелательными изменениями на данный момент.
Я хотел бы по-прежнему иметь возможность обновлять Gradle / загружать новые обновления зависимостей для своих проектов, но хотел бы, чтобы я мог исключить некоторые зависимости (LibGDX) из когда-либо изменяющихся из того, что уже загружено локально.
Это показывает, что я имею в виду:
Не могу найти ничего в Google об этом. Хороший тег типа «offline» только для этих нескольких зависимостей был бы в основном тем, о чем я здесь говорю.
Ответ №1:
gradle dependencies --write-locks
Это эффективно заблокирует все разрешимые конфигурации, в которых включена блокировка (включая вашу ситуацию). Вы также можете взглянуть на то, что было заблокировано здесь.
gradle/dependency-locks/compileClasspath.lockfile
Для этого может потребоваться более свежая версия Gradle, чем рекомендуется, но я обнаружил в своем проекте, что вы можете увеличить gradle. Вы можете узнать больше, описанное здесь
https://docs.gradle.org/current/userguide/dependency_locking.html
Ответ №2:
Для достижения такого поведения должно быть достаточно не изменять значение $gdxVersion
. IntelliJ также предлагает аннотацию //noinspection GradleDependency
, которая не будет помечать устаревшие версии желтоватым цветом (для размещения в строке над ссылкой на зависимость); но это едва ли косметический.
Вы также можете добавить эти библиотеки непосредственно в проект, чтобы они были доступны в автономном режиме
… но в этих репозиториях всегда хранятся старые версии, поэтому беспокоиться не о чем.
Этот интерфейс Exif и аннотации должны быть обновлены до AndroidX, потому что это приведет к конфликту (или для этого потребуется Jetifier, который в противном случае мог бы быть удален). Это может немного ускорить время сборки, когда требуется обработать на одну задачу меньше ресурсов.
Комментарии:
1. Дело в том, что, как я уже упоминал, это моментальная версия, поэтому, хотя $ gdxVersion не меняется, библиотека обновляется несколько раз в неделю и, таким образом, продолжает загружаться повторно. Итак, в основном то, что вы упомянули с
//noinspection GradleDependency
, было бы идеальным, если бы только это не было просто косметическим. PS спасибо @ примечание AndroidX2. Если это снимок, единственным вариантом обеспечения воспроизводимых сборок является добавление файлов. В целом, можно рекомендовать использовать стабильные версии выпуска вместо моментальных снимков. AAR может быть добавлен в локальный
flatDir
репозиторий. При комментировании онлайн-зависимости у него не будет другого выбора, кроме как использовать их.