Gradle - How to add some delay pause hang in Gradle
Asked Answered
F

2

12

Im looking for a way to insert a pause of few seconds between the calls of two gradle tasks.

I can use

firstTask.doLast {

.....

}

something like which can do Linux/Unix

sleep 45

Any ideas?

Fugitive answered 22/1, 2014 at 21:0 Comment(0)
O
33

First, I'd try to find a better solution than waiting for so long every time. Anyway, to delay the first task for 45 seconds, you can do:

firstTask.doLast {
    sleep(45 * 1000)
}

A good way to familiarize yourself with Groovy's core APIs is to study the Groovy JDK (also known as GDK). It's also a handy reference.

Outguard answered 22/1, 2014 at 22:5 Comment(1)
Or: firstTask { // some stuff here; doLast { sleep(45 * 1000) } }Elbertina
M
3

If you want to run integration tests in Tomcat, then simply use the Gradle Tomcat Plugin like this:

ext {
    tomcatStopPort = 8081
    tomcatStopKey = 'stopKey'
}

task integrationTomcatRun(type: org.gradle.api.plugins.tomcat.TomcatRun) {
    stopPort = tomcatStopPort
    stopKey = tomcatStopKey
    daemon = true
}

task integrationTomcatStop(type: org.gradle.api.plugins.tomcat.TomcatStop) {
    stopPort = tomcatStopPort
    stopKey = tomcatStopKey
}

task integrationTest(type: Test) {
    include '**/*IntegrationTest.*'
    dependsOn integrationTomcatRun
    finalizedBy integrationTomcatStop
}

test {
    exclude '**/*IntegrationTest.*'
}
Maculate answered 22/1, 2014 at 21:18 Comment(2)
Hi Vidya, Can you provide a way to add a delay. firstTask deploys a .war in Tomcat (which is already running, so basically tomcat just takes 30-45 seconds to recycle to pick the new .war provided by the new build), i want to wait 45 seconds after that happens and before I call gradle integrationTest task (i.e. my secondTask).Fugitive
Actually the one you mentioned I had that code already but all I needed was how to insert delay. Due to lot of customizations we have, I think we can't use Gradle's Tomcat Plugin but thanks for your inputs. Thanks Vidya.Fugitive

© 2022 - 2024 — McMap. All rights reserved.