Сделать один исходный набор зависимым от другого

У меня есть источник интеграционного теста, установленный в 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
    }
}

Тот же принцип должен работать, чтобы настроить "интеграционный тест", чтобы зависеть от "основного".

Другие вопросы по тегам