Gradle 在渐变文件中使用通配符,然后复制它(如果存在)
简单地说,我想找到所有以*.sql结尾的文件,并复制它们(如果存在)。 etc目录中可能有0个或多个文件Gradle 在渐变文件中使用通配符,然后复制它(如果存在),gradle,Gradle,简单地说,我想找到所有以*.sql结尾的文件,并复制它们(如果存在)。 etc目录中可能有0个或多个文件 File sqlfiles = file('etc/' + '*.sql') logger.info("Looking for SQL files: " + sqlfiles); if (sqlfiles.exists()) { logger.info("Found log SQL file: " + sqlfiles); c
File sqlfiles = file('etc/' + '*.sql')
logger.info("Looking for SQL files: " + sqlfiles);
if (sqlfiles.exists())
{
logger.info("Found log SQL file: " + sqlfiles);
copy
{
from sqlfiles
into "$rpmStoredir"
}
}
else
{
logger.warn("No SQL file found - skipping");
}
在我的代码中,通配符在这里不起作用
因此,将“include”添加到副本(如下所示)是可行的,但我只想了解如果文件不存在,如何添加记录器
copy
{
from "etc/"
include "*.sql"
into "$rpmStoredir"
}
file(…)
是错误的方法,因为它返回一个java.io.file
你可以这样做
FileTree myTree = fileTree('etc') {
include '*.sql'
}
if (myTree.empty) {
...
} else {
copy {
from myTree
...
}
}
看到和