我正在尝试使用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文件的参数传递。
最佳答案
通过commandLine
传递arg
Windows
commandLine 'cmd', '/c', 'run.bat' ,arg1
Linux/mac
commandLine './run.sh' , arg1
关于batch-file - 如何将参数从Gradle exec任务传递到命令行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47929483/