如何在gradle构建中运行后台作业,并在构建取消时停止它?

时间:2019-06-07 01:54:22

标签: gradle

我进行了很多搜索,发现了一些旧的jira问题以及此one

但是我仍然不确定。 gradle(最新版本)是否支持运行后台任务并在构建停止时(正常或突然)正确停止它?

task authRun {
    doFirst {
        println 'Running auth'
        ext.process = new ProcessBuilder(
            'mvn',
            'spring-boot:run',
        ).directory(new File('../service'))
        .inheritIO()
        .start()
    }
}

task stopAuth {
    doFirst {
        if (tasks.authRun.process != null) {
            tasks.authRun.process.destroy()
        }
    }
}

runAuth.finalizedBy stopAuth

0 个答案:

没有答案