Как использовать commandLine () в buildFinished - PullRequest
0 голосов
/ 09 апреля 2020

В $HOME/.gradle/init.gradle У меня есть:

gradle.buildFinished { buildResult ->
    commandLine 'bash', "blah blah blah"
}

Выполнение gradle build сборка завершается успешно, но после успешного завершения я получаю ошибку:

Не удалось найти метод commandLine () для аргументов [bash, бла-бла-бла] при сборке 'FooBar' типа org.gradle.invocation.DefaultGradle.

Ответ на вопрос Не удалось найти метод commandLine () не помогает, так как если поставить (type: Exec) после gradle.buildFinished или обернуть все это в exec { }, то Gradle будет с ошибкой с самого начала, а не с успешной сборкой, и после этого мой хук после сборки потерпит неудачу.

Я использую Gradle версии 6.3

1 Ответ

0 голосов
/ 09 апреля 2020

Вы неправильно настроили commandLine. Со следующими build.gradle:

task lol {
    doLast {
        println "lol"
    }
}

и ~/.gradle/init.gradle:

gradle.buildFinished { buildResult ->
    exec { 
        commandLine 'bash', '-c', 'echo lol2'
    }
}

все работает как положено.

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