Gradle - 如何在doLast中执行命令行并获取退出代码?

时间:2018-01-25 12:56:55

标签: gradle

task executeScript() {

    doFirst {
        exec {
            ignoreExitValue true
            commandLine "sh", "process.sh"
        }
    }

    doLast {
        if (execResult.exitValue == 0) {
            print "Success"
        } else {
            print "Fail"
        }
    }
}

我收到以下错误

> Could not get unknown property 'execResult' for task ':core:executeScript' of type org.gradle.api.DefaultTask.

如果我将commandLine移动到配置部分,一切正常。但我希望commandLine处于操作块中,因此每次执行其他一些gradle任务时它都不会运行。

1 个答案:

答案 0 :(得分:2)

使用gradle type完成任务

task executeScript(type : Exec) {
    commandLine 'sh', 'process.sh'
    ignoreExitValue true

    doLast {
        if(execResult.exitValue == 0) {
            println "Success"
        } else {
            println "Fail"
        }
    }
}

这对你有用......

  

您可以详细了解Exec task here