gpt4 book ai didi

java - 从任务中调用任务的替代方案,Gradle

转载 作者:行者123 更新时间:2023-11-29 04:34:22 26 4
gpt4 key购买 nike

我有一个自定义 Gradle 插件,可以从模板文件生成 Java 文件。我在不同的位置有几个这样的模板文件,我需要将它们全部“编译”以生成我需要的 Java 文件。获得文件后,我想将它们打包到 .jar 中。

我的第一个想法是我会从其他任务中的自定义插件执行“编译”任务。像这样的东西:

task compileFromLocationA <<{
compileTemplate.execute()...
}

task compileFromLocationB
...

packageJar(depends: compileFromLocationA, compileFromLocationB)
...

但是,您不能以编程方式从另一个任务中调用一个任务。我听说我可以使用 dependsOnfinalizedBy 来解决这个问题,但我一直无法弄清楚如何在此处应用这些关键字。像这样的“最佳实践”是什么?我是 Gradle 的新手,无法使用官方文档走得很远。

最佳答案

您可以使用 dependsOn 来完成此操作。这是一个例子:

apply plugin: 'java'

task taskA <<{
println 'task A'
}

task taskB (type:Copy){
println 'B'
}

task taskC (type:Copy){
println 'C'
}
task taskBC (dependsOn:['taskB','taskC'])<<{
println 'BC'
}
taskBC.mustRunAfter taskA

您还可以使用 mustRunAfter 来确保一个任务总是在另一个任务之后运行。

关于java - 从任务中调用任务的替代方案,Gradle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42322517/

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