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

Работая с документами о зависимости 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 пытаются получить только из репозитория ivy, а localRepo используется только для группы localRepo.localRepo содержит только приватные jar-файлы, поэтому мы не хотим, чтобы он использовался в качестве первого репо, и мы не хотим тратить много времени на запросы к mavenCentral для jar-файлов, которых не будет.

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

Ответы [ 3 ]

5 голосов
/ 29 августа 2011

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

1 голос
/ 28 мая 2013

В настоящее время это невозможно, но это открытый запрос http://issues.gradle.org/browse/GRADLE-1066

1 голос
/ 29 августа 2011

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

...