У меня есть многопроектная градиентная сборка, в которой все подпроекты корневого проекта имеют общую задачу zip. Они должны заархивировать некоторый источник, в зависимости от настроек подпроекта.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
в подпроектах?
Созданы ли «файлы представления» другой задачей? – bigguy