Gradle добавить подмодуль из многомодульного подпроекта как зависимость другого подпроекта
У меня сложная, интересная ситуация:
root
|___ p1
|___ p2 // depends on p3/sp1
|___ p3
|____|___sp1
|____|___sp2
Я надеюсь, что это объясняет ситуацию.
Теперь, как бы я добавил sp1 в качестве зависимости от p2? Обратите внимание, что все проекты основаны на gradle.
Пока в моем корне setting.gradle
, Я имею
rootProject.name = root
include 'p1'
include 'p2'
include 'p3'
В p2
build.gradle, у меня есть:
dependencies {
compile project (':p3:sp1')
}
Но выполнение этого все еще не разрешает зависимости в p2; Я все еще получаю ошибки об отсутствующем определении.
Как это исправить?
Просто в сторону, как бы я разрешил другие зависимости, которые может иметь sp1. Например, если это зависит от sp2, нужно ли это как-то объявлять, даже если это уже разрешено в p3?
2 ответа
Предполагаемый проект sp1
а также sp2
являются subprojects
проекта p3
, если вы хотите сделать:
dependencies {
compile project (':p3:sp1')
}
Тогда вам нужно изменить свой settings.gradle
чтобы:
rootProject.name = root
include ':p1'
include ':p2'
include ':p3' // Keep this if this folder contains a build.gradle
include ':p3:sp1'
include ':p3:sp2'
Просто чтобы добавить ответ для тех, кто может искать, в ваших настройках. Gradle у вас будет
include ':p1',':p2',':p3:sp1',':p3:sp2'
если sp1 зависит от sp2
затем добавить зависимость от Gradle SP1 как
dependency {
compile project(":p3:sp2")
}