У меня мульти-проект выглядит следующим образом:
- A
- settings.gradle
- build.gradle
- B ( includes A )
- build.gradle
В них я использую стандартные репозитории для зависимостей и плагинов. Мы используем Eclipse с Buildship , и до сих пор разрешение в основном делалось с Refresh Gradle Project
.
Проблема: некоторые коллеги и наш CI-сервер, находящиеся в другой сети , должны используйте пользовательский репозиторий для всех зависимостей и плагинов. Для этого виртуального репо требуется проверка подлинности, сертификат и прокси-серверы, чтобы оживить ситуацию.
Попытка указать оба репозитория в build.gradle
, но упорядочить их не помогло. Первый сбой приведет к сбою сборки, а один из них всегда не удастся в зависимости от сети. Мысль о том, чтобы иметь в качестве первой строки переменную, которую можно переопределить / прочитать из файла, но поскольку pluginManagement
должен быть самым первым элементом в settings.gradle
и оценивается раньше всего, эта опция, похоже, тоже выпадает.
Мне нужно было бы легко переключаться между этими репозиториями, но все равно как-то быть совместимо с Buildship.
Я действительно не вижу другого способа, кроме создания нескольких наборов этих файлов, таких как build.1.gradle
/settings.1.gradle
и перезаписывая стандарт build.gradle
/ settings.gradle
их содержимым с помощью какого-либо сценария или вручную перед каждой сборкой.
Можно ли этого достичь с помощью Gradle или каким-то умным способом, который я мог пропустить?