Мой проект - это функциональный тестовый проект, поэтому у нас нет main
набора источников в нашем Gradle, просто integTest
source-set (который действует как основной) и 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
}
}
Когда я запускаю сборку, происходит сбой с циклической зависимостью c для первого подпроекта следующим образом
* What went wrong:
Circular dependency between the following tasks:
:parent-a:child-a:compileIntegTestJava
\--- :parent-a:child-a:integTestClasses
\--- :parent-a:child-a:compileIntegTestJava (*)
Любые входные данные в как это можно решить?
Спасибо.