2017-03-01 37 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.

相關問題