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

时间:2018-03-04 07:30:52

标签: gradle groovy

我正在学习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'
    }
}

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

1 个答案:

答案 0 :(得分:3)

在配置阶段,配置了复制任务,即设置了源位置和目标位置(这是配置关闭的全部内容),但副本本身尚未完成。

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