可以在不同脚本之间共享gradle脚本属性扩展

时间:2016-02-10 22:47:26

标签: gradle android-gradle

如果有build.gradle文件,如下所示:

...
apply from: 'Other.gradle'

task hello {
    project.ext.hello = "hello"
}

而其他.gradle有:

task getHello {
    println project.ext.hello
}

我收到错误说:

  

无法获得财产'你好'关于额外属性扩展,因为它不存在

有没有办法在脚本之间共享属性扩展?

1 个答案:

答案 0 :(得分:0)

尝试设置ext.hello然后让任务更新它

== build.gradle

ext {
  hello = null
}

apply from: 'Other.gradle'

task hello {
  doLast {
    hello = "hello"
  }
}

== Other.gradle

task getHello {
  doLast {
    println hello
  }
}

如果您真的希望能够在任务上设置信息,您还可以在任务上使用ext并将其范围限定为任务。如果您要实现更大的插件,则可以创建扩展并将其设置在任务上。