【发布时间】:2017-05-10 09:47:24
【问题描述】:
我目前正在尝试将我的旧 ant 系统迁移到 gradle。我对 gradle 还很陌生,还在学习,所以也许这是我忽略的一些微不足道的事情。
我有一个名为 delete.list 的文件,其中包含我要删除的文件列表。
这是我目前的代码:
task deleteLib(type:DeleteFiles) {
deleteList = file("${buildDir}/delete.list")
}
class DeleteFiles extends DefaultTask {
@SkipWhenEmpty
@InputFile
File deleteList
DeleteFiles()
{
description = 'Deletes Libs from Integris zip'
}
@TaskAction
void delete(){
def lines = deleteList.readLines()
lines.each {
delete fileTree(dir: "${project.buildDir}", include: "${it}")
}
}
}
删除列表:
lib/java/activation.jar
lib/java/pdfbox*.jar
lib/java/fontbox*.jar
lib/java/xmpbox*.jar
lib/java/jempbox*.jar
lib/java/iText*.jar
lib/java/itext*.jar
lib/java/jakarta-poi.jar
lib/java/commons-net*.jar
lib/java/jfreechart*.jar
lib/java/jcommon*.jar
lib/java/dom4j*.jar
lib/java/xmlbeans*.jar
lib/java/jaxen*.jar
lib/java/avalon-framework*.jar
lib/java/batik-all*.jar
经过一番谷歌搜索后,我找到了这个解决方案,因为我的 _delete.list 可能在构建阶段不存在。
我现在的问题是,gradle好像是fileTree方法有问题:
* What went wrong:
Execution failed for task ':deleteLib'.
> Could not find method fileTree() for arguments [{dir=C:\entwicklung\Testumgebung\testProjectGradle\build, include=lib/java/activation.jar}] on task ':deleteLib' of type DeleteFiles.
有人知道我在这里缺少什么吗?
【问题讨论】:
标签: gradle build build.gradle