“配置关闭”中的复制行为发生在“执行阶段”,而不是“配置阶段”

问题描述 投票:0回答:1

我正在学习gradle。

我有以下代码

task simpleCopy(type: Copy){
    from 'source.xml'
    into 'destinationFolder'
}

我的理解是{}中的代码是配置闭包,它在配置阶段执行,以准备在执行阶段执行的任务。因此我期望在配置阶段将source.xml复制到destinationFolder(换句话说,当我简单地运行gradle时,将发生复制,而我不必专门运行gradle simpleCopy来进行复制行为)。

但我发现,当我在命令行运行gradle时,不会发生复制。复制只发生在我明确执行simpleTask任务时(即通过在命令行运行gradle simpleTask)。所以上面的代码实际上表现得一样

task simpleCopy(type: Copy){
    doLast {
        from 'source.xml'
        into 'destinationFolder'
    }
}

我对配置阶段和配置关闭的理解是否不正确?或者我错过了一些信息?

gradle groovy
1个回答
3
投票

在配置阶段,配置复制任务,即设置源和目标位置(这是所有配置关闭),但复制本身尚未完成。

只有在执行任务时才会发生复制。

© www.soinside.com 2019 - 2024. All rights reserved.