Вы можете использовать FileTree вместе с возможностями фильтрации Gradle / Groovy:
Допустим, у вас есть исходные файлы JSON клиента в src/customers
: вы можете определить задачу следующим образом:
task createZip(type: Zip) {
archiveName = "customer.zip"
destinationDir = buildDir
from fileTree('src/customers').filter { f -> f.text.contains('"type": "customer"')}
}
Обратите внимание, что здесь используется метод Groovy File.getText () для считывания всего содержимого файла в память в соответствии с выражением "type": "customer"
.Будьте осторожны с выступлениями, если у вас есть много или большие файлы для фильтрации.