2016-03-04 3 views
0

Рассмотрим следующие настройки проекта:Gradle управления Мультипроект взаимоисключающими проектами

ProjectRoot 
|__build.gradle 
|__settings.gradle 
| 
|__ProjectA 
| |__build.gradle 
| 
|__ProjectB 
| |__build.gradle 
| 
|__SharedProject 
    |__build.gradle 

Оба проекта необходимо SharedProject в зависимости. Тем не менее, я хочу только создать один проект за раз. В настоящее время «решение» Я должен просто закомментируйте проект, что я не здание в settings.gradle и т.д .:

$ cat settings.gradle 
include 'ProjectA' 
//include 'ProjectB' 
include 'SharedProject' 

Когда я звоню gradle assembleRelease ProjectA получает строить. Чтобы построить ProjectB, я прокомментирую ProjectA в settings.gradle.

Я хотел бы иметь возможность построить конкретный проект без необходимости комментировать другую в settings.gradle, например, просто выдать команду как

$ gradle buildA 

Как я могу добиться такого поведения?

ответ

1

gradle :ProjectA:assembleRelease будет строить только ProjectA со своими зависимостями (включая SharedProject).

+0

Спасибо за ответ. Будет ли он по-прежнему учитывать конфигурацию в build.gradle ProjectRoot? В нем есть настройки, которые применяются ко всем подпроектам. – nautical