Cannot execute a shell script from gradle file
我将TeamCity用作CI服务器。 我有一个Android项目的build.gradle文件,其中包含
1 2 3 4 5 6 7
| android{project.afterEvaluate{
task packDex(type:Exec) {
....
commandLine './script.sh'
.....
}
} |
在构建项目时,出现org.gradle.process.internal.ExecException错误。 我该如何解决。 它在Android Studio中构建,但不在TeamCity中构建。 我正在使用gradle包装器构建项目。请帮帮我。
编辑:
我的简单疑问是命令commandLine './script.sh'是否正确以从build.gradle文件启动shell脚本。我正在使用Mac作为服务器并使用gradle 1.0.0
-
关于上述例外情况的任何进一步详细信息?您提供的信息非常无用。
-
@Opal A problem occurred starting process command .script.sh 错误仅此而已。即使我也没有太多信息
-
尝试使用-d和-s开关运行构建以获取更多信息。基本上,配置还可以。 script.sh是否设置了+x模式?
-
@Opal:##teamcity[buildProblem identity=1510845881 description=Execution failed for task |:CustomClientLib:packDex|. org.gradle.process.internal.ExecException: A problem occurred starting process |command |script.sh start|| type=gradleBuildProblem]。在TeamCity中使用构建步骤更改模式
-
抱歉,此日志摘录没有告诉您任何信息:/
-
@Opal:是的..我知道..那也是我的问题...无论如何感谢您的时间
-
您是否尝试过-s和-d?
-
./script.sh可执行吗?您是在命令行xxxxx之前的任务中设置可执行文件" bash"还是可执行文件" sh"?另外,您正在使用Gradle 1.0.0吗?我建议使用至少1.6以上的最新版本。
-
要注意的另一点是:stackoverflow.com/questions/15776431/,您也可以尝试:commandLine" bash"," ./ script.sh",因为commandLine是一个列表,并且每个参数都成为该列表的单独元素。使用bash或sh随心所欲。
-
@Opal:我设法自己解决了...谢谢您的时间。
我自己设法解决了这个问题,只需使用以下代码即可。
1 2 3 4 5 6 7
| android{project.afterEvaluate{
task packDex(type:Exec) {
....
commandLine 'sh', './myScript.sh'
.....
}
} |