如何知道您是否在gradle守护程序中运行

sto*_*vik 9 gradle gradle-daemon

我们有一种情况,我们在运行gradle的VM中占用一个Jetty实例.

但是,当我们在gradle守护程序中运行时,这会非常糟糕:我们没有完全摆脱Jetty实例,所以它必须与gradle进程本身一起消亡.(但是,这并不是一个大问题,因为我们不希望这个CI集成测试案例中的gradle守护进程).

因此,我们想知道当前任务是否在gradle守护程序中运行 - 以便我们可以抛出异常或以其他方式通知用户这是错误的方法,请运行此une daemonized.

Knu*_*sen 6

Gradle命名其中一个线程"守护程序线程",所以如果你允许hack,这可以工作:

def isDaemon = Thread.allStackTraces.keySet.any { it.name.contains "Daemon" };
Run Code Online (Sandbox Code Playgroud)