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