为什么Gradle排除模式在复制任务中不起作用?

时间:2019-09-05 15:50:20

标签: java gradle copy

我想创建一个gradle复制任务,该任务会将文件从根文件夹复制到子文件夹,并且我不希望在结果文件夹中有重复项。我的代码中缺少什么?

我尝试从from子句中排除生成的文件夹,但是它不起作用。另外,我尝试将exclude语句移出from的范围,然后将其放置

初始目录结构:

FolderA\
-SomeStuff.java
-FolderB\
--FolderC\Main.java

我想实现的目标:

FolderA\
-SomeStuff.java
-FolderB\
--FolderC\Main.java
-MyNewFolder\
--SomeStuff.java
--FolderB\
---FolderC\Main.java

我创建了以下gradle任务:

task copyToNewFolder(type: Copy) {
   from('FolderA') {
      include '**/*.java'
      exclude '**/MyNewFolder/**'
   }
   into 'FolderA/MyNewFolder'
}

目前结果以以下方式显示:

FolderA\
-SomeStuff.java
-FolderB\
--FolderC\Main.java
-MyNewFolder\
--MyNewFolder\
---SomeStuff.java
---FolderB\
----FolderC\Main.java
--SomeStuff.java
--FolderB\
---FolderC\Main.java

1 个答案:

答案 0 :(得分:0)

发布问题后,我已经可以按预期工作了。

问题出在exclude的位置和样式

将代码更改为

task copyToNewFolder(type: Copy) {
   from 'FolderA' 
   include '**/*.java'
   exclude '**/MyNewFolder/**/*'
   into 'FolderA/MyNewFolder'
}