Я пытаюсь использовать zip в gradle, и моя сборка работала нормально, пока я не добавил это в свой раздел для проекта «веб-сервер» (может быть, мой вопрос должен заключаться в том, почему копия работает без задачи перед ней?????. ..Меня просто очень смущает разница между копией и zip, если вам нужна задача перед zip, а не копировать ниже)
assemble << {
zip {
from '.'
includes ['app/*','conf/*','public/*','play-1.2.4/*','run*.sh']
}
}
Ошибка
- What went wrong:
Execution failed for task ':webserver:assemble'.
Не удалось найти метод zip() для аргументов [build_3nljqgmljp29v06751h102sq8b$_run_closure3_closure16_closure18@7cc8e407] в задаче ':webserver:assemble'.
copy { from fixedLibDir into genLibDir }
Кроме того, меня очень сильно смущает документация, так как в документации почти всегда есть
task myZip(type: Zip) {
}
Я просто хочу вызывать zip-задачу, а не создавать новую каждый раз, поэтому примеры документации кажутся очень плохими... они должны быть примерами использования zip-задачи, а не создания новой (в конце концов, кто хочет создать новая zip-задача, когда она уже существует??) ИЛИ я что-то здесь упускаю? Во всяком случае, это смутило меня, когда я начал работать с gradle, и я предполагаю, что это смутит других. Было бы неплохо показать как его использование, так и определение нового (хотя я до сих пор не понимаю, зачем определять новый).
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ/ОБНОВЛЕНИЕ: я также попробовал этот код, который запускается, и я вижу сообщение о распечатке, но я не вижу zip-файла в моем каталоге webserver/output/libs, как я и ожидал???
assemble << {
println "I'm zipping up now"
task zip(type: Zip) {
from('.') {
fileMode = 0755
include 'run*.sh'
include 'app/*'
}
}
}
позже, Дин