如何将参数从gradle exec任务传递给命令行

时间:2017-12-21 16:55:50

标签: batch-file gradle sh build.gradle command-line-arguments

我正在尝试使用gradle exec任务挂接bat和sh文件(取决于正在运行的操作系统)。但是我无法弄清楚如何从exec任务向bat / sh发送参数。

task testing(type:Exec) {
    workingDir '.'

    if (System.properties['os.name'].toLowerCase().contains('windows')) {
        if ( project.hasProperty("arg1") ) {
            println arg1
            args arg1
            commandLine 'cmd', '/c', 'run.bat'
        }else{
            commandLine 'cmd', '/c', 'run.bat'
        }
   }else {
        if ( project.hasProperty("arg1") ) {
            args arg1
            commandLine './run.sh'
        }else{
            commandLine './run.sh'
        }
   }
}

如果我执行此任务:gradle testing -Parg1=test,则在println arg1中打印测试

但是如何将此测试作为参数传递给bat / sh文件。

1 个答案:

答案 0 :(得分:4)

通过commandLine

传递arg

<强>窗

commandLine 'cmd', '/c', 'run.bat' ,arg1

Linux / mac

commandLine './run.sh' , arg1