Gradle任务和源集

li9yvcax  于 2023-04-06  发布在  其他
关注(0)|答案(1)|浏览(107)

我希望有人能帮助我理解Gradle任务如何与源集关联。给定以下源集和任务:

sourceSets {
    itest {
        compileClasspath += sourceSets.main.output
        runtimeClasspath += sourceSets.main.output
        java {
    srcDirs("src/itest")
        }
    }
}

task itest(type: Test) {
    description = "Run integration tests"
    group = "verification"
    testClassesDirs = sourceSets.itest.output.classesDirs
    classpath = sourceSets.itest.runtimeClasspath
}

我的理解是,testClassesDirs指定测试类的输出目录,classpath指定在运行时在哪里找到依赖类。
但是它在哪里指定Gradle应该在src/itest中编译代码并运行测试?

zbwhf8kr

zbwhf8kr1#

根据Gradle手册,它来自Gradle的java插件。
https://docs.gradle.org/current/userguide/java_plugin.html#java_source_set_tasks
对于添加到项目中的每个源集,Java插件都会添加以下任务:
因此,由于您将类路径 Package 在itest { ... }中,因此插件将以该名称创建编译任务。

相关问题