Gradle Zip任务即使在干净的构建之后也是最新的
我有以下任务定义Gradle Zip任务即使在干净的构建之后也是最新的,gradle,groovy,zip,Gradle,Groovy,Zip,我有以下任务定义 task generateFile { def file = new File("$buildDir/setclasspath.sh") outputs.file(file) doLast { file.text = "sample" } } 及 taskcreatedistro(type:Zip,dependsOn:['jar','generateFile'])您需要首先了解Gradle的各个阶段。主要记住有配置和执行阶段。这是您以前的问题: 您在
task generateFile {
def file = new File("$buildDir/setclasspath.sh")
outputs.file(file)
doLast {
file.text = "sample"
}
}
及
taskcreatedistro(type:Zip,dependsOn:['jar','generateFile'])您需要首先了解Gradle的各个阶段。主要记住有配置和执行阶段。这是您以前的问题:
您在createDistro
中犯了同样的错误。当您使用时,请等待。为什么generateFile运行?你不是在gradle clean build
中调用它!抱歉,createDistro还有一个dependsOn:“jar”。updatedummgradle clean build
仍然不会调用generateFile,除非您显式调用gradle createDistro
ahh,我注意到这行代码:build.dependsOn createDistroth感谢您的帮助,我想我现在就明白了。就拿这个例子来说,我把二和二放在一起。
task createDistro(type: Zip, dependsOn: ['jar', 'generateFile']) << {
from generateFile {
fileMode = 0755
into 'bin'
}
}
apply plugin: 'java'
task generateFile {
def file = new File("$buildDir/setclasspath.sh")
outputs.file(file)
doLast {
file.createNewFile() // you need to actually create the file first
file.text = "sample"
}
}
task createDistro(type: Zip, dependsOn: ['jar', 'generateFile']) {
// this is the configuration of Zip task, do not run it in doLast or '<<'
from generateFile {
fileMode = 0755
into 'bin'
}
}