Добавление пользовательской команды в скрипт Gradle
Я использую shadowJar
плагин для Gradle (4.2.1) для сборки т.н. fatJar
или же uberJar
, Это работает, как и ожидалось, но я хотел бы добавить некоторые действия после завершения строительства. Точнее, я хотел бы сделать полученный файл исполняемым (в Unix
условия, т.е. chmod +x
), а затем скопируйте его в определенный каталог. Я много гуглил и знаю, что обе задачи возможны. Я хотел бы знать, должен ли я написать скрипт (задачу), который запускается shadowJar
и затем делает то, что я хочу, или я должен изменить shadowJar
Самому встраивать нужные мне операции.
1 ответ
Я думаю, что хороший критерий для решения такой ситуации - спросить себя, действительно ли новые функции являются частью ответственности shoadowJar
, Если ответ "нет", то было бы лучше (как вы упомянули) иметь еще одну задачу, которая выполняется поверх этого. Таким образом, вы можете использовать shadowJar
в гораздо более разных сценариях, сочетая его с другими задачами. Если вы определяете новый, чтобы быть зависимым от shadowJar
, тогда вы будете уверены, что вы все еще можете позвонить shadowJar
Задача индивидуально при вызове новой задачи всегда будет вызывать shadowJar
, Ваша новая задача будет выглядеть примерно так:
task afterShadowJar (dependesOn: 'shadowJar') {
// manipulate file permissions, etc.
}