gpt4 book ai didi

gradle - 如何编写gradle脚本,其中两个任务具有相同的依赖关系但配置不同

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

任务B是基本任务,并使用扩展名E定义的配置。

任务A1取决于任务B,并且具有某些配置E1。
任务A2也依赖于任务B,并且具有某些配置E2。

task B // it's a 3rd party task which uses the properties defined in E

E {
// some configuration
}

task A1(dependsOn: B) {
// do stuff
}

task A2(dependsOn: B) {
// do stuff
}

如果我以上述方式定义它,则A1和A2都使用相同的配置。但是我想要的是A1和A2使用扩展名E定义的不同配置。有什么建议吗?

==========更具体地说==========
Sync taskB = project.tasks.create("B", Sync)
taskB.description = XXX
taskB.group = XXX
task.with pluginExtension.XXX
taskB.doLast {
// do stuff
}

那是那个插件写的,尽管我用名字代替了。任务B是动态创建的,并使用扩展名E中定义的属性。

最佳答案

这取决于插件是否支持在同一项目中构建多个Hadoop应用程序。如果插件仅提供一个扩展名E(而不是扩展容器),那么您仍然很有可能可以声明与B类型相同的其他任务并直接配置它们,而不是通过E进行配置。如果B的任务类型直接访问E(不应访问)而不是公开其自己的配置属性,则您可能不得不切换到多项目构建,或者诉诸于某些丑陋的方法,例如根据是否有条件来配置E A1A2将被执行。

关于gradle - 如何编写gradle脚本,其中两个任务具有相同的依赖关系但配置不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27456212/

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