我有一个gradle构建,它对我们的应用程序运行了一些测试。目前,如果开发人员忘记首先运行mongod,那么在mongoDB中存储资产的测试将失败。因此,我希望任何使用mongoDB的构建都会失败并显示一条消息,该消息明确告诉他启动mongoDB。理想情况下,稍后我们将从gradle启动mongoDB。
我已经找到了这篇关于how to see if mongoDB is running under Linux的好文章,这很简单。我确信可以在Windows下使用tasklist /FI "IMAGENAME eq mongod"
等完成类似的操作。但我需要知道如何在gradle中正确使用它。
是否有跨平台方式来检查服务或正常流程是否在gradle中运行?
答案 0 :(得分:0)
如果您将必要的Gradle任务设置为依赖startManagedMongoDb
任务,则Orid提供的使用Gradle Mongo Plugin的建议应该有效。
虽然这似乎是最简单的方法,但它可能会破坏MongoDb将如何在非开发环境中使用,或者在MongoDb服务已经运行的持续集成构建服务器上使用。
一个非常简单的解决方案是将MongoDb检查功能添加到自定义gradlew.bat
(以及gradlew
bash脚本的顶部(如果它将在* nix操作系统上运行)。 / p>
另一个不需要更改gradlew.bat
脚本的简单解决方案是创建自己的MongoDb检查脚本,然后调用gradlew.bat
,传递命令行参数。我不确定在Windows中是否存在与bash $@
等效的所有位置参数,但是使用SHIFT %1
循环遍历参数可用于生成gradlew.bat
命令行。