Как лучше реализовать запуск таска градла из java кода, в уже развернутом приложении?

Добрый день!
Подскажите, как лучше реализовать запуск таска градла из java кода, в уже развернутом приложении?

Интегрировали редактор темы Helium в проект, хотелось бы, после внесённых изменений в файл helium-ext.scss, запустить таск deployTheme, что бы не рестартовать томкат.

Еще сопутствующий вопрос, где находятся файлы темы helium(helium-ext.scss и helium-ext-defaults.scss) в развернутом приложении?
При локальной сборке, для них создается jar’ник app-web-0.1-SNAPSHOT-themes.jar, но его нет в либах war’ника.

Добрый день,

Вообще мне кажется, то что вы хотите сделать - это немножко странно, для этого темы не были предназначены. Тот же Chrome агрессивно кэширует файлы стилей, пользователям придется нажимать Ctrl + F5, чтобы увидеть изменения в теме. Вдобавок придется класть исходный код проекта рядом с запущенным приложением… Но если клиент требует, то деваться некуда.

Запустить процесс Gradle можно любыми способами, как принято в Java. Например, через Process API, которое доступно в Java 11: https://www.baeldung.com/java-lang-processbuilder-api
или через библиотеку Apache commons-exec.

Команда deployThemes просто копирует файлы, поэтому она работает только с приложением, запущенным как в локальном отладочном сервере. Это метод развертывания “fast deployment”, когда все библиотеки и файлы скопированы в папки tomcat/shared/lib, tomcat/webapps/app, tomcat/webapps/app-core.
С WAR архивом команда deployThemes работать не будет.