当我在脚本中执行此操作时
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进行范围界定。
我在这里做错了什么?
最佳答案
以下极简的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
}
}