Gradle任务中额外属性和变量之间的区别?

Ric*_*ral 3 variables properties gradle

这两个任务在Gradle中究竟有什么区别:

task sampleTask {
    String myFile = "sample.txt"
    delete myFile
}

task sampleTask {
    ext.myFile = "sample.txt"
    delete myFile
}
Run Code Online (Sandbox Code Playgroud)

它们基本相同还是它们有所不同?

Pet*_*ser 8

第一个片段声明了一个局部变量,该变量仅在封闭块中可见.第二个片段添加了一个额外的属性,可以扩展Gradle的对象模型,并且在任务可见的任何地方都可以看到.除非您有理由扩展对象模型,否则请使用局部变量.