Мне бы хотелось, чтобы моя задача gradle:
- Выполнить команду (внешний процесс для запуска моего сервера).
- Подождите, пока какой-то вывод из моего внешнего процесса скажет: "Сервер готов" в стандартном режиме.
- Сделайте что-то в моей задаче gradle (в основном, чтобы поговорить с моей внешней задачей).
- Когда я закончил делать свои вещи, завершите внешний процесс, запустив еще одну команду "остановить мой сервер".
- Когда обе команды завершены, завершите задачу.
Это похоже на запуск сервера для запуска интеграционных тестов, но это не сервер типа tomcat/jetty, поэтому его нужно запускать из командной строки и ждать, пока сервер будет "готов" через серверный выпуск.
В настоящее время я могу использовать задачу exec для запуска моей задачи и получения вывода. Поэтому я думаю, что, возможно, я могу скопировать код Groovy/Java, чтобы добиться того, чего хочу.
Однако, кажется, утомительно кодировать эту, казалось бы, общую картину. Поэтому мне интересно, есть ли более простой способ решить такие проблемы без слишком большого количества кодирования - т.е. Это общий шаблон, который gradle имеет DSL для?
Обратите внимание, что я новичок в Gradle, поэтому любые советы по этой теме также будут оценены.