Приносим извинения за заголовок этого вопроса из-за отсутствия лучшего описания. Я пытаюсь настроить входные параметры для плагина gradle следующим образом:
def _configVar = true
customPluginTask {
configVar = _configVar
}
task configTask1(type: Exec,
group: 'General',
description: 'Description') {
workingDir = "./"
commandLine 'python', 'script.py'
_configVar = false
}
task configTask2 {
_configVar = true
}
Проблема в том, что плагин всегда использует значение true
, даже если customPluginTask
зависит от configTask1
. Аналогично:
task configTask1(type: Exec,
group: 'General',
description: 'Description') {
workingDir = "./"
commandLine 'python', 'script.py'
_configVar = false
}
customPluginTask {
configVar = _configVar
}
task configTask2 {
_configVar = true
}
всегда использует значение false
, даже если customPluginTask
зависит от configTask2
И:
task configTask1(type: Exec,
group: 'General',
description: 'Description') {
workingDir = "./"
commandLine 'python', 'script.py'
_configVar = false
}
task configTask2 {
_configVar = true
}
customPluginTask {
configVar = _configVar
}
всегда использует true
даже когда customPluginTask
зависит от configTask1
.
Почему позиция плагина в файле имеет значение для его переменной конфигурации? Значение переменной затирается задачей, непосредственно предшествующей ей, даже если задача плагина никак от нее не зависит. _configVar
является локальным для файла .gradle и не используется и не устанавливается где-либо еще. Некоторые указания по этому поводу были бы очень полезны.