I was trying to find a solution to run different task in different threads (depends/independents)
I have scenario where I need to run one task (which internally runs a
server) in different thread before running another task (test, depends
on above server) in gradle, after 2nd task completed I need to kill
first task.
Again, same as above scenario, run another set of server/test/kill tasks.
task exp{
doFirst{
run1stServerTask.execute()
}
def pool = Executors.newFixedThreadPool(5)
try {
def defer = { closure -> pool.submit(closure as Callable) }
defer {
run1stTest.execute()
// After tests are finished, kill 1st server tasks
}
defer {
run2ndServerTask.execute()
}
defer {
run2ndTest.execute()
// After tests are finished, kill 2nd server tasks
}
}
finally {
pool.shutdown()
}
}
Hope, All above make senseā¦ I am open for another approach if its possible in build.gradle.