Как Gradle определяет, из какого репозитория установить? - PullRequest
0 голосов
/ 01 мая 2018

Давайте рассмотрим следующий раздел build.gradle файла

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
}

Хотя я не очень хорошо разбираюсь в точных различиях между google(), jcenter() и mavenCentral() - согласно этому посту ( хранилища сценариев сборки Android: jcenter VS mavencentral ) jcenter() является расширенный набор mavenCentral() - таким образом, можно ожидать, что будет по крайней мере некоторое перекрытие поддерживаемых библиотек в google(), jcenter() и mavenCentral().

Теперь возникает вопрос, найден ли нужный репозиторий во всех 3.

implementation 'some_cool_library_found_in_all_3:1.0.0'

Как Gradle узнает, какой из них "правильный" для загрузки и установки? Есть ли какая-то простая эвристика (например, идти сверху вниз). Или библиотеки и версии стандартизированы каким-либо протоколом для google(), jcenter() и mavenCentral() - что делает его неуместным, откуда мы получаем нашу библиотеку.

1 Ответ

0 голосов
/ 01 мая 2018

Gradle документы содержат следующее:

Проект может иметь несколько репозиториев. Gradle будет искать зависимости в каждом хранилище в указанном порядке, останавливаясь на первом хранилище, содержащем запрошенный модуль.

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