Я использую Gradle 5.0 и Kotlin DSL.Как включить конфигурацию из другого подпроекта gradle в качестве зависимости от подпроекта?У меня есть следующие настройки:
root
|--A
|--B
Теперь в моем проекте B я хочу включить проект A с определенной конфигурацией:
dependencies {
testImplementation(project(":A", "testUtilsCompile"))
}
Исходные наборы для всех подпроектов определены следующим образом:
project.the<SourceSetContainer>().register("testUtils", {
java.srcDir("src/test-utils/java")
resources.srcDir("src/test-utils/resources")
compileClasspath += project.the<SourceSetContainer>().named("main").get().output
runtimeClasspath += project.the<SourceSetContainer>().named("main").get().output
})
project.the<SourceSetContainer>().named("test").configure({
compileClasspath += project.the<SourceSetContainer>().named("testUtils").get().output
runtimeClasspath += project.the<SourceSetContainer>().named("testUtils").get().output
})
project.configurations.named("testUtilsCompile").get().extendsFrom(project.configurations.named("testCompile").get())
project.configurations.named("testUtilsRuntime").get().extendsFrom(project.configurations.named("testRuntime").get())
Кажется, все работает нормально, пока он находится внутри одного подпроекта, но когда я пытаюсь использовать класс, который находится в наборе исходников testUtils, из другого подпроекта, он не будет работать.У кого-нибудь есть идея, почему?