2020-06-04 11:32:17 +03:00
|
|
|
#!/bin/bash
|
|
|
|
# set -x
|
|
|
|
|
|
|
|
function build_binary {
|
|
|
|
echo building $1
|
|
|
|
pushd $1
|
2020-06-04 15:46:22 +03:00
|
|
|
go build -o _main
|
2020-06-04 11:32:17 +03:00
|
|
|
local ret=$?
|
|
|
|
if [ $ret -gt 0 ]; then
|
|
|
|
failed=1
|
|
|
|
failed_arr+=($1)
|
|
|
|
fi
|
|
|
|
popd
|
|
|
|
}
|
|
|
|
|
|
|
|
function is_main {
|
|
|
|
grep "package main" -l -dskip $1/*.go > /dev/null 2>&1
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
function check_dir {
|
|
|
|
is_main $1
|
|
|
|
local ret=$?
|
|
|
|
if [ $ret == 0 ]; then
|
|
|
|
build_binary $1 $2
|
|
|
|
fi
|
|
|
|
for filename in $1/*; do
|
|
|
|
if [ -d $filename ]; then
|
|
|
|
check_dir $filename $2
|
|
|
|
fi
|
|
|
|
done
|
|
|
|
}
|
|
|
|
failed_arr=()
|
|
|
|
failed=0
|
2020-06-04 15:46:22 +03:00
|
|
|
go mod edit -replace github.com/micro/go-micro/v2=github.com/micro/go-micro/v2@$1
|
2020-06-04 11:32:17 +03:00
|
|
|
check_dir . $1
|
|
|
|
if [ $failed -gt 0 ]; then
|
|
|
|
echo Some builds failed
|
|
|
|
printf '%s\n' "${failed_arr[@]}"
|
|
|
|
fi
|
|
|
|
exit $failed
|