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

Как использовать Sonatype Nexus с Gradle для прокси-репитеров?

Скажем, у меня есть Sonatype Nexus, работающий на внутреннем сервере, и я хотел бы использовать его для proxy repo1.maven.org и других репозиториев. В Maven я просто добавил конфигурацию <mirror> в settings.xml. Как это сделать с помощью Gradle?

Обновление: Я хотел бы сделать это без необходимости жесткого кода URL моего экземпляра Nexus в каждом проекте, который у меня есть. Поэтому я ищу точную копию настройки Maven <mirror>.

Лучшее, что я мог придумать, - это сделать что-то вроде этого:

repositories {
    maven {
        url "$nexusUrl/content/groups/public"
    }
}

И затем введите это в ~/.gradle/gradle.properties на каждом компьютере разработчика:

nexusUrl = https://nexus.company.com

Однако это выглядит взломанным, и я все равно должен добавить 5 строк в каждый проект. Есть ли более элегантный способ сделать это?

4b9b3361

Ответ 1

Ининные скрипты могут быть лучшим способом. Взгляните на эту главу в Руководство пользователя.

Они предоставляют вам возможность вводить логику во все ваши проекты.

Ответ 2

Как описано в документации и о скриптах init:

Создайте папки и файл, заканчивающиеся на .gradle например. ~/.gradle/init.d/mirror.gradle. С содержимым:

initscript {
  repositories {
     maven {
        url "http://repo.mycompany.com/maven2"
    }
  }
}