gradle: 为什么没有所有sourceSets的jar任务

gradle: why there is no jar task for all sourceSets

添加了sourceSet web,但是没有对应的任务:

apply plugin: 'java'
sourceSets {
    web
}

Build tasks
-----------
assemble - Assembles the outputs of this project.
build - Assembles and tests this project.
buildDependents - Assembles and tests this project and all projects that depend on it.
buildNeeded - Assembles and tests this project and all projects it depends on.
classes - Assembles main classes.
clean - Deletes the build directory.
jar - Assembles a jar archive containing the main classes.
testClasses - Assembles test classes.
webClasses - Assembles web classes.

我期待以下任务

webJar

Gradle assemble 并构建:不构建 web sourceSet。

没有每个 sourceSet 的 jar 任务,因为在大多数项目中不需要这个 jar。例如 java 项目带有两个 sourceSets(main 和 test)。不需要用于测试源集的 jar,因为您可以 运行 没有它的测试。

如果您需要一个 jar 用于您的额外源集,您可以轻松地创建一个:

task myJar(type:Jar){
    from sourceSets.mySourceSet.output  
}