我有一堆要在gradle构建中执行的sql文件。我想到了这个。
def sqlDir = new File('src/main/resources/')
task testSql << {
sqlDir.eachDirRecurse() { dir ->
dir.eachFileMatch(~/.*\.sql$/) {
// sql.execute(it.text)
println it
}
}
}
但是,我也想排除一些文件,我可以在代码中使用if块和对文件名进行硬编码来做到这一点。有人可以给我清洁器解决方案以排除文件吗?
最佳答案
正如您所指出的,Gradle中有一个[fileTree]解决方案
您可以像这样使用它。请引用链接以获取详细信息。
def sqlDir = file 'src/main/resources/'
task testSql << {
fileTree(dir: sqlDir, include: "**.sql", exclude: ["somefilename.sql", "otherfilename.sql"]).each {
sql.execute(it.text)
}
}
关于sql - 在Gradle中使用Groovy执行SQL文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21729844/