По умолчанию плагин приложения gradle создает пакет с /bin и /lib, которые содержат сценарии запуска (bash + .bat) и загрузочную банку соответственно.
Вот что мне нужно:
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/…) и включить все, что вы хотите, в сгенерированный архив.