Вы не можете использовать глобусы (например, **
в своих путях) в предоставленных путях файлов для удаления. Документы API говорят, что вы можете использовать «любой тип объекта, принятый Project.files(Object...)
» ( через ), что в случае пути строки означает «интерпретировать относительно каталога проекта, согласно file(Object)
”( через ). Однако строки, переданные в Project.file(Object)
, не поддерживают глобусы.
Под Unix **
- это совершенно правильное имя файла, поэтому ваш код работает там (хотя ничего не удаляется, за исключением, может быть, нескольких файлов с именем **
;-)). В Windows такие имена файлов запрещены, поэтому вы получаете исключение.
Если вы согласны также с удалением каталогов, которые вы хотите очистить, вы можете просто изменить конфигурацию вашей задачи следующим образом:
clean {
delete.clear()
delete.add 'build/kotlin'
delete.add 'build/libs'
delete.add 'build/tmp'
}