2017-03-01 30 views
2

に保存します。gradleタスクを実行してシェル変数に出力を保存する方法はありますか?例えばgradleタスクを実行し、戻り値をシェルスクリプト変数

は、モジュールのバージョンを表示しますGradleのタスクを検討することができます:

task getVersion << { 
    println '2.2.0' 
} 

を私はこのようなシェルで次の作業を実行します。

$./gradlew getVersion 

はGradleのタスクの出力を保存することが可能ですシェル変数にgetVersionを入力します。たとえば:

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

答えて

0

はbashで、この

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

を試してみてください、あなたはこのようにそれを行うことができます。

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

-q

| tail -n 1を終了するにはGradleの出力を設定しますのみ変数の出力の最後の行を使用します。この部分は必要ないかもしれませんが、実際の出力を印刷する前に時折gradleが警告/エラーを出力します。私はgradle4.1にアップグレードしている間、これを個人的に経験しました。アップグレード後にも表示されますConfiguration 'compile' in project ':app' is deprecated. Use 'implementation' instead.

関連する問題