有没有一种方法可以运行gradle任务并将其输出保存到shell变量中?
例如,让我们考虑打印模块版本的gradle任务:
task getVersion << {
println '2.2.0'
}
我像这样在shell中运行此任务:
$./gradlew getVersion
是否可以将gradle任务 getVersion 的输出保存到shell变量中。例如:
VERSION=`./gradlew getVersion`
echo "Module Version is $VERSION"
最佳答案
在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.