Подтвердить что ты не робот

Как настроить gradle для использования локального репозитория только для определенных групп зависимостей?

Работая с gradle документами зависимостей, у нас есть build.gradle с такими фрагментами.

repositories {
    mavenCentral()
    ivy {
        name = 'localRepo'
        artifactPattern "http://localRepo.com/[organisation]/[module]/[revision]/[artifact]-[revision].[ext]"
    }
}

dependencies {
    compile group: 'localRepo', name: 'my-private-library', version: '2.5'
}

Эта настройка действительно загружает все правильно, но я хотел бы настроить ее так, чтобы вещи в группе localRepo пытались извлечь из репозитория плюща, а localRepo используется только для группы localRepo. localRepo содержит только частные банки, поэтому мы не хотим, чтобы он использовался в качестве первого репо, и мы не хотим тратить много времени на запрос mavenCentral на банки, которые не будут существовать.

В принципе, я хотел бы сказать в зависимости от использования конкретного репо или что локальное репо на основе плюща должно использоваться только для определенных групп. Есть ли простой способ сделать это?

4b9b3361

Ответ 1

Не совсем то, что вы хотите, но мы создали наши репозитории, чтобы разработчики получали все зависимости от локального частного репо, а локальное частное репо кэшировало центральное репо maven. Это происходит быстрее, так как зависимости вытаскиваются только один раз из maven из центра первым разработчиком для доступа к ним, а также позволяет вам видеть, какие артефакты используются в вашей компании. Nexus и artifactory, и я уверен, что все остальные репозитории сделайте также.

Ответ 2

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