Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/windows-phone-7/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gradle 在渐变文件中使用通配符,然后复制它(如果存在)_Gradle - Fatal编程技术网

Gradle 在渐变文件中使用通配符,然后复制它(如果存在)

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

简单地说,我想找到所有以*.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);

        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
      ... 
   } 
} 
看到和