这两种方法在Gradle Kotlin构建脚本中的区别是什么?
具体来说,我想知道使用setProperty()
方法的优势(如果有的话)是什么?
val myMainClass = "MainClass"
和
setProperty("myMainClass", "MainClass") // equivalent to project.setProperty(...)
我想知道使用
setProperty()
方法的优势(如果有的话)是什么?
这完全取决于你的用例/你想要达到的目标。
第一种方法无论如何都不是Gradle特有的。您正在定义一个名为myMainClass
的只读变量。这只是基本的Kotlin: https://kotlinlang.org/docs/basic-syntax.html#variables
在当前项目上定义/设置属性的第二种方法。使用这种方法,无论您在哪里可以访问project
,都可以通过property("myMainClass")
或project.property("myMainClass")
引用该属性。setProperty
和project.setProperty
达到相同的结果。在Gradle构建脚本中,this
引用project
实例,这就是为什么你可以执行setProperty
、file
、uri
、ant
等等。