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