【发布时间】:2016-08-16 16:04:52
【问题描述】:
我使用这个问题Execute shell script in Gradle 作为参考,但是,我不知道如何让它工作。
这是我的 gradle 文件:
...
task myPrebuildTask(type: Exec) {
println "Hello world from gradle"
commandLine 'sh', './myScript.sh'
}
build.dependsOn myPrebuildTask
我在 myScript.sh
中有这个#!/bin/sh
echo "脚本文件中的Hello world"
但是,每当我运行脚本 gradle assembleDebug 时,我只能看到“来自 gradle 的 Hello world”,而看不到“来自脚本文件的 Hello world”。
Yuchens-iMac:MyApplication yuchen$ gradle assembleDebug
Hello world from gradle
Incremental java compilation is an incubating feature.
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
...
为什么?
【问题讨论】:
-
尝试将您的任务明确称为
gradle myPrebuildTask -
Hello world from gradle 正在配置阶段打印。我怀疑你调用
gradle assembleDebug时你的任务根本没有被执行 -
您可能在错误的位置查找打印的字符串。 “Hello world from gradle”在配置阶段打印,但“Hello world from script file”在执行阶段打印,所以它应该在输出的更下方。