2017-03-01 167 views
2

有没有办法运行gradle任务并将其输出保存到shell变量?运行gradle任务并将其返回值保存到shell脚本变量

例如让我们考虑一个打印模块版本gradle这个任务:

task getVersion << { 
    println '2.2.0' 
} 

我运行shell这个任务是这样的:

$./gradlew getVersion 

是否有可能保存gradle这个任务的输出getVersion进入shell变量。例如:

VERSION=`./gradlew getVersion` 
echo "Module Version is $VERSION" 

回答

0

试试这个

exec { 
    commandLine "./gradlew getVersion" 
    standardOutput = output 
} 
VERSION = output.toString().trim() 
0

在bash中,你可以做这样的:

VERSION=$(./gradlew -q getVersion | tail -n 1) 

-q:设置gradle这个输出退出

| tail -n 1:只在变量中使用输出的最后一行。可能不需要这部分,但有时候在打印实际输出之前,gradle会输出警告/错误。我个人在升级到gradle4.1时遇到过这个问题。升级后还显示Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.

相关问题