Gradle - как перебирать в fileTree только для определенного типа файла - PullRequest
0 голосов
/ 07 ноября 2018

в моей задаче gradle я перебираю fileTree и все работает хорошо:

myTask {
  fileTree("${project.projectDir}/dir").visit { FileVisitDetails details ->
    exec {
      //do some operations
    }
  }
}

но теперь в моем каталоге есть файлы разных типов:

dir
├── sub1
│   ├── file1.json
│   └── file2.js
├── sub2
│   ├── file1.json
│   └── file2.js
└── sub3
    ├── file1.js
    └── file2.json

Как выполнить итерацию только для определенного типа файлов? Поскольку

"${project.projectDir}/folder/dir/**/*.json"

не работает.

Спасибо за любой совет

1 Ответ

0 голосов
/ 07 ноября 2018

Вы должны использовать метод matching из FileTree. В качестве параметра используется PatternFilterable.

Попробуйте это:

fileTree("${project.projectDir}/dir").matching {
    include "**/*.json"
}.each {
    // do some operations
}
...