Gradle中是否有方法在构建后执行某些任务?
构建完成后,是否有任何方法来执行某些任务Gradle中是否有方法在构建后执行某些任务?,gradle,Gradle,构建完成后,是否有任何方法来执行某些任务 我已经检查了doLast,但它只用于任务(task1.doLast(task2))而不用于构建…阅读并检查后,答案是build.finalizedBy(copyToLib)您可以调用 tasks.build.doLast(){ println'这将在生成任务之后打印,即使其他内容调用生成任务' } 您不能执行task1.doLast(task2)。那么有没有办法执行build.doLast(Task)?我知道这应该是个了结,但也许有办法……不,没有。选项
我已经检查了
doLast
,但它只用于任务(task1.doLast(task2)
)而不用于构建…阅读并检查后,答案是build.finalizedBy(copyToLib)
您可以调用
tasks.build.doLast(){
println'这将在生成任务之后打印,即使其他内容调用生成任务'
}
您不能执行task1.doLast(task2)
。那么有没有办法执行build.doLast(Task)
?我知道这应该是个了结,但也许有办法……不,没有。选项是使用任务关系,例如dependsOn
或finalizedBy
,或gradle.buildFinished{}
挂钩。这仅在调用gradle build
时起作用。要使其可靠地工作,您必须执行任务.all*.finalizedBy(copyToLib)
,或者使用诸如gradle.buildFinished{}
之类的钩子而不是任务。我还遇到了一个问题,即当我有子模块要构建时,在子模块构建脚本中,我将使用build.finalizedBy(copyToLib)
,copyToLib
任务将在整个主项目构建完成后执行。我想在构建子模块后执行一个简单的“复制到”任务。有什么办法吗?子项目不是一个接一个地构建的。任务执行顺序完全由任务依赖关系决定。所以,您能为我的问题提出一些解决方案吗?我有两个子项目的主项目。在“核心”项目结束时,我想将一些文件复制到一个特定的文件夹(“LIB”),以便第二个子项目可以使用该文件夹做某事(复制或用作依赖项)。PS:这是你应该在问题中描述的问题。有人能评论一下吗?这是否不同,更好,比上面建议的那样做gradle.buildFinished
更糟糕?