Как использовать разные файлы settings.gradle для разных сред - PullRequest
0 голосов
/ 15 марта 2019

Проблема

У меня есть два проекта, A (пользовательский интерфейс) и B (фоновая служба).Проект A зависит от B .Проект B публикуется в репозитории maven и включается в проект A , как в build.gradle

debugImplementation ('com.example:project-B:0.0.0-SNAPSHOT') { changing = true }
releaseImplementation ('com.example:project-B:1.6.2')

Это работает, но проверить мою больСервисные изменения на стороне пользовательского интерфейса.Мне нужно опубликовать проект B в моем проекте Rex и повторной синхронизации Nexus A .

Я изменил проект A на следующее:

build.gradle:

debugImplementation project(":project-b")

settings.gradle:

include ':project-a'
include 'project-b'
project(':project-b').projectDir = new File(settingsDir, "${project-b-path}")

Я могу иметь весь свой код в одном окне IDE и A использовать локальныйэкземпляр B .Но проблема в том, что это сломается на моем сервере сборки, так как нет локального B проекта, только один на Nexus.

Есть ли способ настроить settings.gradle для выпуска противотладки?Я могу просто зафиксировать свои изменения и перезаписать файл на сервере сборки, но я хочу знать, есть ли другие способы?

1 Ответ

0 голосов
/ 02 апреля 2019

Вы можете использовать командную строку gradle, чтобы указать, какие настройки или файл сборки следует использовать.

Файл настроек

-c, --settings-file
Specifies the settings file. For example: gradle --settings-file=somewhere/else/settings.gradle

Файл сборки

-b, --build-file
Specifies the build file. For example: gradle --build-file=foo.gradle. The default is build.gradle, then build.gradle.kts, then myProjectName.gradle.

Более подробную информацию можно найти здесь: Документы Gradle: параметры среды

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...