Добавление пользовательской команды в скрипт 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.
}
Другие вопросы по тегам