Причина, по которой вы получаете эту ошибку, состоит в том, что оцениваемое замыкание не находит функцию, объявленную в основном файле.
Попробуйте изменить свою функцию на замыкание в качестве ссылки на переменную, и тогда она должна работать. webRollbackFactory = { parentTask ->
tasks.create(name: "webRollback.${parentTask.name}", type: Copy, dependsOn: [webBackup]) {
onlyIf { patentTask.state.failure != null }
from(zipTree("${webPublishPath}/../${getWebBackupName()}")) { include '*' }
into webPublishPath
doLast {
println "\nwebRollback.${parentTask.name}.doLast"
}
}
}