Циклическая зависимость Gradle с compileIntegTestJava и integTestClasses
Мой проект - это проект функционального тестирования, поэтому у нас нет main
исходный код в нашем градиенте, просто integTest
исходный набор (который действует как основной) и test
.
Моя структура проекта
parent-p
:parent-p:child-a
:parent-p:child-b
:parent-p:child-c
с одним build.gradle
для проекта parent-p.
Мы используем версию Gradle 2.0 (обновление еще не выполнено из-за политики организации). Вbuild.gradle
выглядит следующим образом
subprojects {
buildscript { repositories { //usual repository code } }
apply plugin: 'java'
apply from: "../common-dependencies.gradle"
sourceCompatibility = 1.8
sourceSets {
test {
java { srcDir 'src/test/java' }
resources { srcDir 'src/test/resources' }
}
integTest {
java { srcDir 'src/integTest/java' }
resources { srcDir 'src/integTest/resources' }
}
}
test { useTestNG() }
configurations {
integTestCompile.extendsFrom loggers, json
//loggers, json etc are some configuration & dependencies defined in a common gradle file
testCompile.extendsFrom integTestCompile
// the test sourceSet is used to write test for the code in integTest sourceSet
}
dependencies {
integTestCompile sourceSets.integTest.output
testCompile sourceSets.test.output
}
}
Когда я запускаю сборку, она терпит неудачу с циклической зависимостью для первого подпроекта следующим образом
* What went wrong:
Circular dependency between the following tasks:
:parent-a:child-a:compileIntegTestJava
\--- :parent-a:child-a:integTestClasses
\--- :parent-a:child-a:compileIntegTestJava (*)
Любые комментарии о том, как это можно решить?
Спасибо.