You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
647 B
31 lines
647 B
3 years ago
|
#!/usr/bin/env bash
|
||
|
|
||
|
# This is a common util functions shell script
|
||
|
|
||
|
# arguments: target, item1, item2, item3, ...
|
||
|
# returns 0 if target is in the given items, 1 otherwise.
|
||
|
function util::array_contains() {
|
||
|
local target="$1"
|
||
|
shift
|
||
|
local items="$*"
|
||
|
for item in ${items[*]}; do
|
||
|
if [[ "${item}" == "${target}" ]]; then
|
||
|
return 0
|
||
|
fi
|
||
|
done
|
||
|
return 1
|
||
|
}
|
||
|
|
||
|
# find all go mod path
|
||
|
# returns an array contains mod path
|
||
|
function util::find_modules() {
|
||
|
find . -not \( \
|
||
|
\( \
|
||
|
-path './output' \
|
||
|
-o -path './.git' \
|
||
|
-o -path '*/third_party/*' \
|
||
|
-o -path '*/vendor/*' \
|
||
|
\) -prune \
|
||
|
\) -name 'go.mod' -print0 | xargs -0 -I {} dirname {}
|
||
|
}
|