Gradle выполнить командные строки в пользовательской задаче
В моем файле Gradle я определил следующую задачу:
task text_example <<
{
//?!? commandLine ''
println 'Fam Flinstone'
}
Я хочу поместить в эту задачу несколько командных строк. Как я могу это сделать?
Я использую библиотеку для автоматической публикации в Google Play. Мой проект основан на Product Flavors, и мне нужно передать в командной строке терминала командную строку для каждого из моих вариантов. Поэтому я хочу передать все команды в строке test_example
задача.
1 ответ
Решение
У вас есть два основных удобных варианта:
Использовать тип задачи Gradle Exec
task fooExec(type: Exec) { workingDir "${buildDir}/foo" commandLine 'echo', 'Hello world!' } << { println "Executed!" }
Используйте метод Gradle Project.exec
task execFoo << { exec { executable 'echo' args 'Hello world!' } println "Executed!" }
В обоих случаях внутри замыкания можно указать параметры выполнения, используя методы ExecSpec. Стандартный вывод и вывод ошибок от выполненных команд будут перенаправлены на stdout и stderr процесса gradle.