的build.gradle:
task configure << {
pos = new java.text.FieldPosition(10)
// Apply the script
apply from: 'other.gradle', to: pos
println pos.beginIndex
println pos.endIndex
}
other.gradle:
beginIndex = 1;
endIndex = 5;
命令行:
gradle -q configure
以上代码来自Gradle用户指南的Chapter 14。 我很困惑&#34; pos&#34;因此无法理解整段代码。我认为这是一个对象,而不是项目。
对此有任何澄清表示赞赏。
谢谢, Prithula
答案 0 :(得分:0)
pos
是FieldPosition
对象。您的代码段只是使用其他文件中的值初始化对象。你可以像这样初始化它:
def pos = new java.text.FieldPosition(10)
pos.beginIndex = 1
pos.endIndex = 5
,而是代码段:
apply from: 'other.gradle', to: pos
从beginIndex
读取endIndex
和other.gradle
的值,并将这些字段设置应用于pos
对象。
答案 1 :(得分:0)
好吧,你忘了在pos之前添加'def',你应该通过“def pos”来定义它以使pos成为局部变量。应用'to'可用于配置除此对象之外的对象。通过apply到pos的脚本,你可以将脚本属性设置为pos的属性 完整的代码如下:
build.gradle中的
task configure <<{
def pos = new java.text.FieldPosition(10)
apply from: 'other.gradle',to: pos
println pos.beginIndex
println pos.endIndex
}
在other.gradle中
beginIndex = 1
endIndex = 5