我是否必须为所有gradle任务明确提供输入和输出?
我正在编写一个定制的gradle构建脚本,并注意到我正在为所有任务放置输入和输出定义 这是预定义任务所必需的,还是它们“知道”它们的结果和依赖关系?例如,此处的输入/输出是否必要我是否必须为所有gradle任务明确提供输入和输出?,gradle,Gradle,我正在编写一个定制的gradle构建脚本,并注意到我正在为所有任务放置输入和输出定义 这是预定义任务所必需的,还是它们“知道”它们的结果和依赖关系?例如,此处的输入/输出是否必要 task compileGradleWrapperDependencies(type: GroovyCompile){ source = fileTree("buildSrc/src/main/groovy") { include "com/example/plugins/dsl/SomeFil
task compileGradleWrapperDependencies(type: GroovyCompile){
source = fileTree("buildSrc/src/main/groovy") {
include "com/example/plugins/dsl/SomeFile.groovy"
include "com/example/plugins/dsl/OtherFile.groovy"
}
destinationDir = "$buildDir/tempBuildSrcCompiled"
classpath = ...
...
inputs.files fileTree("buildSrc/src/main/groovy") {
include "com/example/plugins/dsl/SomeFile.groovy"
include "com/example/plugins/dsl/OtherFile.groovy"
}
outputs.files "$buildDir/tempBuildSrcCompiled"
}
Gradle附带的任务类已经定义了它们的输入和输出(在有意义的地方)。声明上面的输入和输出是多余的(您可以轻松地验证自己)。那么类似于
任务集合现在(依赖于:task1、task2、task3)
已经检测到最新信息了吗?我对@Opals posit有点困惑,它取决于这四个任务或它们的任务类是否定义了它们的输入和输出。如果alltogethernow
所做的只是捆绑其他三个任务(即,如果没有任务操作),则不需要定义输入和输出。