如何在Gradle中为Task添加扩展?

时间:2014-07-29 17:58:03

标签: gradle

创建Gradle插件时,您可以使用自己的扩展对象扩展DSL,但是从文档中我看到 DefaultTask 也实现了 ExtensionAware 接口。

enter image description here

所以我想问:

  1. 如何向任务添加扩展名?
  2. 在什么情况下我必须使用它?

1 个答案:

答案 0 :(得分:0)

您可以使用ext命名空间向任务添加额外属性。它通常用于通过新属性或方法丰富Gradle的域模型(如任务)。我们假设你想为任务添加额外的属性myTask

task myTask {
    ext.myProp = 'hello world'

    doLast {
        println myProp
    }
}

assert myTask.myProp == 'hello world'
myTask.myProp = 'new value'
assert myTask.myProp == 'new value'

您可以在此处看到,您可以在任务的上下文中直接访问和修改此属性。