Gradle spring -boot bootDistTar пользовательские скрипты в tar-пакет

По умолчанию плагин приложения gradle создает пакет с /bin и /lib, которые содержат сценарии запуска (bash + .bat) и загрузочную банку соответственно.

Вот что мне нужно:

  • У меня есть собственный сценарий запуска (который где-то сохраняет PID и т. д.). Стандартный, созданный на основе resources/unixStartScript.txt, который мне не подходит.
  • Подавить создание сценария .bat. Это просто мусор, и люди из команды развертывания linux, которым я должен передать дистрибутив .tar, отклонят tar из-за ненужного содержимого.
  • В дополнение к настраиваемому сценарию запуска мне также нужно несколько других, таких как сценарий остановки, статус и т. д.

До сих пор я смог выполнить свой первый пункт, только выполнив:

bootStartScripts {
    unixStartScriptGenerator.template = resources.text.fromFile('scripts/start.sh.template')
}

Но это не мешает сгенерировать скрипт Windows. Я также пробовал windowsStartScriptGenerator = null, но он ломается, а также пробовал:

windowsStartScriptGenerator = new ScriptGenerator() {
    void generateScript(JavaAppStartScriptGenerationDetails details, Writer dest) {
    }
}

... но эта последняя попытка только сделала содержимое скрипта Windows пустым, но файл все еще был там.

Есть ли способ просто переопределить определение bootStartScripts, чтобы он просто указывал на кучу файлов в моем проекте (scripts/*.sh), обрабатывал их как шаблоны и помещал их (и только их) в /bin файла .tar?

Если вы хотите полностью изменить содержимое архива дистрибутива, лучше всего избегать использования плагина приложения и просто добавить задачу типа Tar (docs.gradle.org/current/dsl/…) и включить все, что вы хотите, в сгенерированный архив.

JB Nizet 05.10.2018 00:08

Я все еще хотел воспользоваться шаблонами (заменой переменных значениями проекта во время сборки). :(

L. Holanda 10.10.2018 01:07
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Версия Java на основе версии загрузки
Версия Java на основе версии загрузки
Если вы зайдете на официальный сайт Spring Boot , там представлен start.spring.io , который упрощает создание проектов Spring Boot, как показано ниже.
Документирование API с помощью Swagger на Springboot
Документирование API с помощью Swagger на Springboot
В предыдущей статье мы уже узнали, как создать Rest API с помощью Springboot и MySql .
0
2
459
0

Другие вопросы по теме