我有一个针对我的Android应用程序的build.gradle,然后是一些用于各种子任务的helper.gradle文件。其中一些辅助任务调用shell脚本。因为这个应用程序一直在Linux和Mac机器上开发,所以shell脚本运行良好。
我最近在混合中添加了一个Windows开发机器,并且gradle构建配置在调用shell脚本时失败。
task helperTask1 << {
exec {
workingDir rootProject.getProjectDir()
commandLine 'sh', './scripts/helperScript1.sh'
}
}
在某些时候,我会在Windows机器上启动并运行Cygwin,但是我有什么选择来编译我的应用程序?
答案 0 :(得分:1)
以下是我这样做的方式:
ant.condition(property: "os", value: "windows") { os(family: "windows") }
ant.condition(property: "os", value: "unix" ) { os(family: "unix") }
task myTask() {
switch (ant.properties.os) {
case 'windows':
commandLine 'cmd', '/c', 'myscript.cmd'
break;
case 'unix':
commandLine './myscript.sh'
break;
}
}