4.3Kпросмотров
9 января 2024 г.
Score: 4.8K
Но кое-что мы с девопсиками всё же поделали 🤩
Оставлю здесь заметку 🤓 У нас появилась задача, чтобы при сборке в гитлабе зависимости подтягивались из другого репозитория, не тех, которые указаны в build.gradle проекта.
При этом чтобы локально проект собирался по-прежнему Мы решили добавить в пайплайн гитлаба init.gradle и в нём указать необходимые репозитории, но это не помогло)) repositories { maven { url "..." } mavenCentral() mavenLocal()
} Не помогло это потому, что по умолчанию настройки в build.gradle переопределяют init.gradle.
Чтобы этого не происходило в init.gradle можно указать стратегию, по которой будут определяться репозитории: allprojects { settingsEvaluated { it.dependencyResolutionManagement { repositoriesMode = RepositoriesMode.PREFER_SETTINGS } }
} Есть 2 опции:
1️⃣ PREFER_PROJECT - это когда репозитории в проекте переопределяют репозитории в настройках инстанса градла
2️⃣ PREFER_SETTINGS - это когда настройки инстанса градла приоритетнее настроек проекта Также есть опция FAIL_ON_PROJECT_REPOS - это когда билд падает, если в проекте вообще указан хоть какой-то репозиторий. Это может быть полезно для стандартизации разработки и контроля сборок