0
我試圖用「doFirst」方式調用Gradle中的方法。我的代碼看起來像Gradle:doFirst中的變量重新分配
task nightlyBuild(type:MavenTask) {
ext.list = 'this should change'
doFirst {
ext.list = getList()
println ext.list
}
mvnCmdLine "clean deploy -am -amd ${ext.list}"
}
mvnCmdLine是在爲我呼籲行家一類的方法(根據不同的操作系統)
輸出看起來像這樣
-pl com.blah.foo:bar
mvn clean deploy -am -amd this should change
我的問題是,當我運行這個,println ext.list打印我期待看到的內容,但是當maven命令執行時,它落入「這應該改變」
似乎doFirst不能控制reas在變量之外簽署一個新的值。有一些特殊類型的回報?還是我不創建全局變量?
'mvnCmdLine「clean deploy -am -amd $ {ext.list}」''似乎在錯誤的地方。它需要進入'doFirst'之類的東西。 –
更新:幾個星期前,我想到了這一點,爲後代更新。我意識到的是,你不能在配置階段運行doFirst,它只是一個執行階段的操作。所以我看到的是在我的任務完成配置任務後發生的doFirst。 – mbabineau