gpt4 book ai didi

gradle - Gradle:doFirst内部的变量重新分配

转载 作者:行者123 更新时间:2023-12-03 06:22:22 24 4
gpt4 key购买 nike

我正在尝试使用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是为我调用maven的类中的方法(取决于OS)

输出看起来像这样
-pl com.blah.foo:bar
mvn clean deploy -am -amd this should change

我的问题是,当我运行此命令时,println ext.list会打印出我希望看到的内容,但是当执行maven命令时,它会落在“这应该会更改”中

似乎doFirst无法控制将变量本身重新分配给新值。是否有某种特殊类型的退货?还是我不创建全局变量?

最佳答案

我现在已经弄清楚了。阶段对实现非常重要。

因此,配置发生在执行之前以及doFirst和doLast之前。所以逻辑应该看起来像

task nightlyBuild(type:MavenTask) {
ext.list = 'this should change'
doFirst {
ext.list = getList()
println ext.list
}

doLast {
mvnCmdLine "clean deploy -am -amd ${ext.list}"
}
}

基本上,mvnCmdLine是在配置阶段运行的,而在ext.list更改后则没有运行。

关于gradle - Gradle:doFirst内部的变量重新分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22676714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com