從 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