我正在编写一个自定义gradle构建脚本,并注意到我正在为我的所有任务放置输入和输出定义。
预定义任务是否必要,或者他们“了解”其后果和依赖关系?例如,输入/输出是否必要?:
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"
}
答案 0 :(得分:2)
Gradle附带的任务类已经定义了它们的输入和输出(有意义的地方)。声明上面的输入和输出是多余的(您可以轻松验证自己)。