我希望有人能帮助我理解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中编译代码并运行测试?
1条答案
按热度按时间zbwhf8kr1#
根据Gradle手册,它来自Gradle的
java
插件。https://docs.gradle.org/current/userguide/java_plugin.html#java_source_set_tasks
对于添加到项目中的每个源集,Java插件都会添加以下任务:
因此,由于您将类路径 Package 在
itest { ... }
中,因此插件将以该名称创建编译任务。