使用--no-daemon参数启动带有测试的gradle,但无论如何都会启动守护进程

时间:2015-01-19 14:46:08

标签: gradle android-gradle

我正在尝试调试我编写的一些单元测试,但gradle守护程序似乎总是启动,忽略了我设置的任何选项。

使用Mac OS X 10.9.5,Java 1.7,Gradle 2.2.1和robolectric-gradle-plugin 0.14.1

使用以下方式启动gradle:

GRADLE_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=5006"    
./gradlew test --no-daemon -Dorg.gradle.debug=true

导致出现以下行

To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: http://gradle.org/docs/2.2.1/userguid....

我也尝试在build.gradle中将-Xdebug和Xrunjdwp设置为jvmArgs。

没有其他事情发生,但如果我添加-d并重新运行,事实证明守护程序已启动并正在端口5005上等待调试器:http://pastebin.com/TqaXubmr

最后,如果我然后启动连接到端口5005的调试器,则测试运行但没有任何断点被命中。

gradle.properties为空,我没有设置org.gradle.jvmargs。

1 个答案:

答案 0 :(得分:2)

您可能在gradle.properties中配置了内存设置?这些设置可以强制gradle启动新的jvm,因为这些设置无法动态应用。

请记住,单元测试总是在一个单独的jvm中执行。调试gradle执行的测试的最简单方法是运行

>gradle :test --debug-jvm

这将自动将测试任务配置为在启用调试的情况下运行。