我希望我的 gradle 任务:
- 执行命令(“启动我的服务器”的外部进程)。
- 等待来自我的外部进程的某个输出在标准输出中显示“服务器已就绪”。
- 在我的 gradle 任务中做一些事情(基本上是和我的外部任务交谈)。
- 当我完成我的工作时,通过启动另一个“停止我的服务器”命令来结束外部进程。
- 当两个命令都完成时,结束任务。
这就像启动一个服务器来运行集成测试,但这不是一个 tomcat/jetty 类型的服务器,所以它需要从命令行启动并通过服务器的标准输出等待服务器“准备好”。
我目前能够使用 exec 任务来运行我的任务并获取输出。所以我想我可以用 Groovy/Java 编写代码来实现我想要的。
但是,对这种看似常见的模式进行编码似乎很乏味。所以我想知道是否有一种更简单的方法可以在没有太多编码的情况下解决这些问题 - 即这是 gradle 具有 DSL 的常见模式吗?
请注意,我是 Gradle 的新手,因此也将不胜感激有关此主题的任何建议。