Gradle Android - проблема со свойствами плагина (которые отменяются размещением в файле .gradle) - PullRequest
0 голосов
/ 21 июня 2020

Приносим извинения за заголовок этого вопроса из-за отсутствия лучшего описания. Я пытаюсь настроить входные параметры для плагина 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 и не используется и не устанавливается где-либо еще. Некоторые указания по этому поводу были бы очень полезны.

...