有没有办法运行gradle任务并将其输出保存到shell变量?
例如,让我们考虑打印模块版本的gradle任务:
task getVersion << {
println '2.2.0'
}
我在shell中运行此任务:
$./gradlew getVersion
是否可以将gradle任务 getVersion 的输出保存到shell变量中。例如:
VERSION=`./gradlew getVersion`
echo "Module Version is $VERSION"
答案 0 :(得分:2)
在bash中,你可以这样做:
-q
| tail -n 1
:设置gradle输出以退出
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
:仅使用变量中输出的最后一行。可能不需要此部件,但有时gradle会在打印实际输出之前输出警告/错误。我个人在升级到gradle4.1时遇到过这种情况。升级后,它还显示db.Database.OpenConnection();
try
{
var connection = db.Database.GetDbConnection();
// TODO: Use connection
}
finally
{
db.Database.CloseConnection();
}
答案 1 :(得分:0)
试试这个
exec {
commandLine "./gradlew getVersion"
standardOutput = output
}
VERSION = output.toString().trim()