Сделать один исходный набор зависимым от другого
У меня есть источник интеграционного теста, установленный в Gradle, и это зависит от компилируемых моих основных классов. Я настроил это, делая
integrationTestClasses.dependsOn 'classes'
Это способ сделать это, или есть способ настроить зависимости от исходных наборов, чтобы это происходило автоматически? В моем configurations
блок у меня уже есть
integrationTestCompile { extendsFrom testCompile }
integrationTestRuntime { extendsFrom integrationTestCompile, testRuntime }
2 ответа
Решение
Чего не хватает:
dependencies {
integrationTestCompile sourceSets.main.output
}
При этом зависимости задач должны устанавливаться автоматически.
Также возможно установить цепочку зависимостей при определении sourceSets. Это сработало для настройки "основного" sourceSet на зависимость от "сгенерированного" sourceSet:
// Default sourceSets already created by the java plugin: src/main and src/test
// Default content for each sourceSet: /java and /resources
sourceSets {
// Adding src/generated
generated
// Setting src/main to depend on the dependencies and output of src/generated
main {
compileClasspath += generated.compileClasspath + generated.output
}
}
Тот же принцип должен работать, чтобы настроить "интеграционный тест", чтобы зависеть от "основного".