我正在学习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'
}
}
我对配置阶段和配置关闭的理解是否不正确?或者我错过了一些信息?
在配置阶段,配置复制任务,即设置源和目标位置(这是所有配置关闭),但复制本身尚未完成。
只有在执行任务时才会发生复制。