Vin*_*tin 8 plugins gradle
我正在编写Gradle插件,我正在通过阅读用户指南和Gradle项目中插件的源代码来学习Gradle.
在源代码中,我找到了两种向项目添加属性的方法:
我不明白它们之间的区别以及用于哪种情况的区别.有人能解释一下吗
PS:有人可以在SO中添加标签"gradle-plugin"吗?
Vin*_*tin 7
我在Gradle论坛上找到了答案:
扩展和约定是动态扩展构建模型的类似(但不完全相同)的方法.扩展是更新的概念,并且在很大程度上取代了惯例.简而言之,只使用扩展,不要使用约定. [...] 扩展是在用户定义的名称下附加到构建模型的任意(通常是用户定义的)类的实例.扩展类可以定义任意方法.假设它附加到Project对象,扩展允许您添加project.foo.someMethod,但不允许添加project.someMethod.由于每个扩展都有自己的命名空间(在本例中为foo),名称冲突的可能性大大降低(与约定相比).
扩展和约定是动态扩展构建模型的类似(但不完全相同)的方法.扩展是更新的概念,并且在很大程度上取代了惯例.简而言之,只使用扩展,不要使用约定.
[...]
扩展是在用户定义的名称下附加到构建模型的任意(通常是用户定义的)类的实例.扩展类可以定义任意方法.假设它附加到Project对象,扩展允许您添加project.foo.someMethod,但不允许添加project.someMethod.由于每个扩展都有自己的命名空间(在本例中为foo),名称冲突的可能性大大降低(与约定相比).
归档时间:
12 年,5 月 前
查看次数:
1674 次
最近记录: