hack/update-codegen.sh: fix finding items in an array.

The current code

  if ! [[ " ${INTERNAL_DIRS[@]:-} " =~ " ${int_group} " ]]; then

is broken because the array is concatenated in [[ .. ]] structure. This
means that the match will be done to any substring in the resulting
string which just happens to include ${int_group}. Fix this to use a
loop instead, and do exact matching. Also make tabs consistent in the
for loop.
This commit is contained in:
Ismo Puustinen 2018-02-13 13:04:48 +02:00
parent b6fbe2aee5
commit a9905f2ad3

View File

@ -61,8 +61,16 @@ for gv in "${GROUP_VERSIONS[@]}"; do
if [[ "${pkg_dir}" = core/* ]]; then
int_group="api/"
fi
if ! [[ " ${INTERNAL_DIRS[@]:-} " =~ " ${int_group} " ]]; then
INTERNAL_DIRS+=("${int_group}")
found=0
for dir in "${INTERNAL_DIRS[@]}"; do
if [[ "$dir" = "$int_group" ]]; then
found=1
break
fi
done
if [[ $found = 0 ]]; then
INTERNAL_DIRS+=("$int_group")
fi
done
# delimit by commas for the command