从 gradle 执行 shell 脚本
shell 脚本是一种非常通用的方法,可以将你的构建扩展到你能想到的任何内容。
作为一个例子,这里有一个简单的脚本来编译 protobuf 文件并将结果 java 文件添加到源目录以进行进一步编译:
def compilePb() {
exec {
// NOTICE: gradle will fail if there's an error in the protoc file...
executable "../pbScript.sh"
}
}
project.afterEvaluate {
compilePb()
}
此示例的’pbScript.sh’shell 脚本位于项目的根文件夹中:
#!/usr/bin/env bash
pp=/home/myself/my/proto
/usr/local/bin/protoc -I=$pp \
--java_out=./src/main/java \
--proto_path=$pp \
$pp/my.proto \
--proto_path=$pp \
$pp/my_other.proto