根据Gradle docs的说法,ExtensionAware
对象可以在运行时与其他对象一起扩展。
这样我们就可以创建
// Add new extensions via the extension container
project.extensions.create('custom', String, "bar")
然后就可以像这样访问它
project.custom == "bar"
然后,我们有了允许将新属性添加到现有对象的Extra properties extensions。
project.ext.custom = "bar"
或者简单地说
project.custom = "bar"
从可用性的角度来看,这两者似乎没有区别。
我知道ext
是一个特殊的扩展,搜索属性的范围与其他扩展不同,但这两者之间的实际区别是什么?simple extensions和ext提供相同的功能吗?
发布于 2019-05-26 00:31:55
一般而言,扩展和额外属性的作用是相同的,因为它们都有助于扩展Gradle DSL中各种元素的作用域,主要是Project
对象。documentation on Project
通过以下说明介绍了这些功能:
我突出显示了上面文档摘录的一些部分,以显示功能之间的两个示例性差异:
https://stackoverflow.com/questions/56294703
复制相似问题