2016-07-07 4 views
8

В моем Gradle файл я определил следующие задачи:Gradle выполнять командные строки в пользовательской задачи

task text_example << 
{ 
    //?!? commandLine '' 
    println 'Fam Flinstone' 
} 

Я хочу поставить в этой задаче некоторые команды строки. Как я могу это сделать ?

Я использую библиотеку для автоматического публикации в google play. Мой проект основан на Product Flavors, и мне нужно передать в командной строке терминала командную строку для каждого и каждого из моих вкусов. Поэтому я хочу передать все строки команд в задаче test_example.

ответ

11

Вы в основном есть два основных варианта: удобные

  1. Использование Gradle типа Exec задача

    task fooExec(type: Exec) { 
        workingDir "${buildDir}/foo" 
        commandLine 'echo', 'Hello world!' 
    } << { 
        println "Executed!" 
    } 
    
  2. Использование Gradle Project.exec метод

    task execFoo << { 
        exec { 
         executable 'echo' 
         args 'Hello world!' 
        } 
        println "Executed!" 
    } 
    

В обоих случаях внутри замыкания вы можете указать параметры выполнения с использованием методов ExecSpec. Стандартный вывод и вывод ошибок из выполненных команд будут перенаправлены на stdout и stderr процесса градации.

Смежные вопросы