在插件中扩展TestCompile和TestRuntime

时间:2017-12-07 22:14:20

标签: gradle groovy

"正常" JavaExec gradle任务,例如,

task('integrationTest',
     type: JavaExec,
     moreConf...) {
    // Stuff
}

您可以扩展继承编译和运行时配置,如此,

configurations {
    integrationTestCompile.extendsFrom testCompile
    integrationTestRuntime.extendsFrom testRuntime
}

但是,如何通过Groovy定义的任务来完成这项工作?即。

def integrationTestTask = project.task(['type': JavaExec], 'integrationTest') {
    stuff
}

我正在编写一个插件来减少重复的代码。

1 个答案:

答案 0 :(得分:0)

通过添加必备的源集integrationTestCompile和“.ntegrationTestRuntime”将被创建并可用于设置,

project.task(['type': JavaExec], 'integrationTest') {
    project.sourceSets {
        integrationTest {
            java {
                // set stuff....
            }
        }
    }

    project.configurations {
        // These two (integrationTestCompile/integrationTestRuntime) get created by the sourceSets block
        integrationTestCompile.extendsFrom testCompile
        integrationTestRuntime.extendsFrom testRuntime
    }
    // stuff
}