【发布时间】:2015-02-09 06:44:24
【问题描述】:
我有一个多项目 gradle 构建,其中根项目的所有子项目都有共同的 zip 任务。他们应该压缩一些源代码,具体取决于子项目的设置。
首先,我在父build.gradle中配置:
subprojects { subproject ->
apply plugin: 'java'
...
task submission(type: Zip) {
destinationDir = subproject.buildDir
archiveName = subproject.name
from subproject.ext.submissionFiles
}
}
但这不适用于Cannot get property 'submissionFiles' on extra properties extension as it does not exist。所以我把任务移到了每个子项目的build.gradle,这违反了DRY原则。
我认为问题在于配置阶段发生在配置子项目之前。我怎样才能“推迟”这个任务的配置,以便我只在子项目中配置ext.submissionFiles?
【问题讨论】:
-
“submissionFiles”是由另一个任务创建的吗?
标签: gradle build.gradle multi-project