[英]Gradle run copy task to add js files in build/classes after IDE(intellj) compile/make project
[英]Gradle copy task after build
在 Gradle 中,很容易定义在构建之后运行的任务。
task finalize1 << {
println('finally1!')
}
build.finalizedBy(finalize1)
这按预期工作。 但是现在我想在最后执行一个复制任务。
task finalize (type: Copy) {
def zipFile = file('data/xx.zip')
def outputDir = file("data/")
println('Unzip..')
from zipTree(zipFile)
into outputDir
}
build.finalizedBy(finalize)
这不再起作用了。 我在构建开始时看到“解压缩”输出(我需要最后的提取物)。
Unzip..
:clean
:compileJava
:processResources
:classes
:findMainClass
:jar
:bootRepackage
:assemble
...
<<
看起来有什么技巧,但我如何合并这两个?
你不必。 您会在构建开始时看到Unzip...
,但这并不意味着 Gradle 正在执行您的任务。
当 Gradle 开始配置您的复制任务时,此消息会打印在控制台中,例如添加输入和输出的路径。 真正的执行是在构建之后完成的。 要验证您是否可以使用doLast
闭包:
task finalize (type: Copy) {
doLast { println 'running now' }
...
}
doLast
块中的代码将在构建后执行。
PS 不要在doLast
闭包内移动其余的任务代码( from zipTree(zipFile)
等),它不会工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.