变量是不可读的

时间:2016-07-27 16:56:29

标签: gradle

当我在我的脚本中执行此操作时

artifacts = ['abc123-com', 'abc123-ejb', 'abc123-spec', 'abc123-war', 'abc123-war2']

task clone_workspace() << {
    for (item in artifacts) {
        println item
    }
}

我得到了

> Cannot set the value of read-only property 'artifacts' on root project 'abc123'.

我已尝试使用project.artifacts进行作用域设定,并使用project.ext.artifacts进行扩展。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:1)

以下极简主义Gradle文件说明project已有artifacts的属性(记录为here):

println "TRACER : " + project.artifacts.class

输出:

bash$ gradle
TRACER : class org.gradle.api.internal.artifacts.dsl.DefaultArtifactHandler_Decorated

相比之下,这个版本的原版更快乐:

def myArtifacts = ['abc123-com', 'abc123-ejb', 'abc123-spec', 'abc123-war', 'abc123-war2']

task clone_workspace() << {
    for (item in myArtifacts) {
        println item
    }
}