运行gradle任务并将其返回值保存到shell脚本变量

时间:2017-03-01 05:15:13

标签: gradle groovy android-gradle

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

例如,让我们考虑打印模块版本的gradle任务:

task getVersion << {
    println '2.2.0'
}

我在shell中运行此任务:

$./gradlew getVersion

是否可以将gradle任务 getVersion 的输出保存到shell变量中。例如:

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

2 个答案:

答案 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()