Почему в задаче Gradle используются другие настройки, чем в терминале? - PullRequest
0 голосов
/ 21 апреля 2020

Мне нужно изменить среду усиления перед сборкой приложения. Я настроил CLI, и он отлично работает, если я запускаю команды в системном терминале или Android Studio, но у меня возникают проблемы при сборке приложения. В целом мой код выглядит так:

preBuild.doFirst {
def stdout = new ByteArrayOutputStream()
exec {
    .....detect environment and ect.....

    if (System.getProperty('os.name').toLowerCase(Locale.ROOT).contains('windows')) {
          commandLine 'cmd', '/c', 'node -v'
          commandLine 'cmd', '/c', "amplify env checkout $environment"
    } else {
          commandLine 'sh', '-c', 'node -v'
          commandLine 'sh', '-c', "amplify env checkout $environment"
    }

    standardOutput = stdout
}
println "$stdout"

}

Команда (amplify env checkout <env>) в этом случае не выполняется. Кажется, причина в том, что Gradle использует разные настройки. Например, если я звоню node -v в терминале, я получаю v10.2.0, в то время как в журнале сборки здания я вижу v8.10.0. Итак, почему он использует разные настройки и как я могу заставить его использовать настройки терминала?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...