gpt4 book ai didi

groovy - Gradle-我可以使用约定属性管理任务依赖项吗?

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

我将Gradle用作项目的构建系统。
如果给定属性设置为“true”,我要使任务A依赖于任务B。这可行吗,如果答案是肯定的,我该怎么做?

目前,我正在使用ConventionMapping,但这似乎不起作用。我的代码如下所示:

MyTask.conventionMapping.propertyName = { MyPluginConvention.propertyName }

if (MyTask.propertyName.equals("true")) {
MyTask.dependsOn ...
}

提前致谢,
马林

最佳答案

不必使用任务/约定类,而必须使用它们的实例。此外,您还必须推迟是否添加任务依赖项的决定。例如:

def myTask = project.tasks.create("myTask", MyTask)
def otherTask = ...
def myConvention = new MyConvention()
...
myTask.conventionMapping.propertyName = { myConvention.propertyName }
// defer decision whether to depend on 'otherTask'
myTask.dependsOn { myTask.propertyName == "true" ? otherTask : [] }

如果范围中没有任务变量,则还可以通过 project.myTaskproject.tasks["myTask"]引用现有任务。

PS:常规对象已被 extension objects取代。

关于groovy - Gradle-我可以使用约定属性管理任务依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14857078/

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