Gradle - 删除不起作用

时间:2012-03-13 00:06:22

标签: gradle

我想在clean任务中添加一些额外的删除功能(适用于Java版本)。

所以我尝试将以下内容添加到我的gradle构建脚本中。

clean.doLast{
    delete ('test.txt')
}

当我调整“干净”任务时,我的示例文件不会被删除...我也没有收到任何错误消息,表明发生了什么。

如果我尝试以下方法:

task deleteStuff(type: Delete) {
    delete 'test.txt'
}

事情确实有效。

我可以不为任务添加(通过doLast)删除功能吗?这样做的正确方法是什么(没有攻击Ant任务)。

3 个答案:

答案 0 :(得分:17)

在这两个代码段中,您不是在调用Project.delete()而是调用Delete.delete()。换句话说,您正在配置Delete任务。执行Delete任务后执行此操作(如第一个代码段中所示)为时已晚。

如果是Delete任务,则没有充分理由使用delete添加doLast操作。你的第二个片段显然更可取。对于其他任务,doLast方法将起作用,因为它们没有delete方法。或者您可以使用project.delete()消除歧义。

答案 1 :(得分:1)

如果原因是为了避免在准备阶段花费时间(为每个任务执行),可以使用doFirst设置Delete-task。 因此,在上面的示例中使用clean.doFirst而不是clean.doLast将起作用。

答案 2 :(得分:0)

这个解决方案对我有用:

task deleteTestFile(type:Delete) {
    delete 'test.txt'
}
clean.dependsOn deleteTestFile