gpt4 book ai didi

gradle - Gradle任务。 “(type: Copy)”和不能同时工作

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

task simpleTask{
print("simpleTask is reach");
}

task copySomeFile(type: Copy){
print("copySomeFile is reach");
from baseProjectPath;
into toProjectPath;
appendXML();
}
def appendXML(){
//modify a.txt
}

///我只想只运行“simpleTask”,但是当“gradle simpleTask”时,任务“copySomeFile”也将运行!我知道是因为gradle初始化。

但是如果这样写
task copySomeFile(type: Copy)<<{
}

“copySomeFile”将不起作用。

似乎“(类型:复制)”不能与“<<”或“doLast {}”一起使用?

我只希望“--gradle simpleTask”“--gradle copySomeFile”可以单独运行。

最佳答案

您必须阅读有关Gradle build lifecycle的信息。

您应该注意两个阶段-ConfigurationExecution。所有任务总是在每个构建上配置的,但是只有其中一部分确实在执行阶段执行。

您会看到copySomeFile任务是在配置阶段配置的。它不会复制任何内容,但必须进行配置。任务闭包中的所有内容都是任务的配置,这就是为什么您在输出中看到print("copySomeFile is reach");的结果的原因。
<<doLast用于在执行阶段运行某些内容,但是如果将所有配置都放入doLast部分或将<<添加到任务定义中,则不会配置“复制”类型的任务-这就是复制无法正常工作的原因。

关于gradle - Gradle任务。 “(type: Copy)”和<doLast>不能同时工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44198227/

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