gpt4 book ai didi

gradle - 是否可以从doLast内部执行任务?

转载 作者:行者123 更新时间:2023-12-03 05:06:38 25 4
gpt4 key购买 nike

我有以下内容:

task copyToLib(type: Copy) {
from configurations.runtime
into "$buildDir/output/lib"
doLast { copyOpcThirdParty() } // this doesnt get executed
}

task copyOpcThirdParty(type: Copy) {
from "$projectDir/libs/opc/thirdparty"
into "$buildDir/output/lib/thirdparty/"
}

如何从 copyOpcThirdParty调用 copyToLib.doLast

我尝试了 .execute()tasks.copyOpcThirdParty等,没有任何效果。

不支持吗?

最佳答案

在Gradle中,任务不直接执行。相反,您可以注册依赖项,然后Gradle然后决定以哪种顺序执行哪些任务以实现指定任务的执行(通常通过命令行)。在较早版本的Gradle中,您可以直接在任务上调用execute(),但是永远不要使用它。

执行任务时,必须始终完全完成一个任务的执行,直到可以执行另一任务为止。任务的执行始终涵盖运行所有doFirst闭包,所有内部任务操作和所有doLast闭包。

对于您的特定示例,可以使用finalizedBy方法。它告诉Gradle每当执行特定任务时,此后的某个时候还必须运行另一个特定任务:

copyToLib.finalizedBy copyOpcThirdParty

关于gradle - 是否可以从doLast内部执行任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57109716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com