2015-12-30 45 views
1

我想tag=「gradle這個printVersion'`項目版本導出到環境如何關閉控制檯Gradle構建消息,如「BUILD SUCCESSFUL」?

printVersion是gradle這個任務

task exportVersion { 
    println project.version 
} 

其打印0.0.1-SNAPSHOT安慰,我的$標籤ENV設爲0.0.1-SNAPSHOT:exportVersionUP-TO-DATEBUILD SUCCESSFUL

如何讓gradle包含:exportVersion,BUILD SUCCESSFUL到控制檯?

+3

我不確定這會是什麼可能的事情,它感覺像一個奇怪的解決方案,以解決常見問題。我是否正確理解您只是想獲取版本號以供其他進程使用?你可以把它寫入一個文件嗎?或者,假設你正在調用變量'tag',如果你打算使用它來在你的版本控制系統中創建一個標籤,爲什麼不讓你的gradle任務做到這一點? [gradle release plugin](https://github.com/researchgate/gradle-release)甚至可能對你正在做的事很有用。 – DaveyDaveDave

+0

是的,這很奇怪,我可以創建一個maven上傳任務,但我沒有公司nexus用戶名/密碼。這將作爲mvn部署文件在Jenkins服務器上運行。 –

回答

3

首先,您的任務配置錯誤。每次運行Gradle時都會打印這種版本。爲了避免它,你應該添加一個動作:<<doLast。要抑制gradle輸出,請使用-q開關:

>cat build.gradle 
task exportVersion << { 
    println project.version 
} 

>gradle -q exportVersion 
unspecified 

P.S. @DaveyDaveDave是對的,不應該這樣處理。

+0

這正是我想要的,現在我的標籤是帶有-q選項的'0.0.1-SNAPSHOT'。 –