build-system: check type of variants added

This commit is contained in:
2024-08-29 14:08:52 +02:00
parent 7ea8fa11ce
commit 8b80ec9cfd
+33 -19
View File
@@ -503,7 +503,6 @@ declare -x PREFIX=''
declare -A SHASUMS=()
declare -a MODULE_DOCFILES=()
declare -A Yaml_valid_keys_for_module=(
['defaults']=1
['shasums']=1
@@ -580,6 +579,29 @@ build_modules_yaml_v1(){
shift 3
local -a with_modules=( "$@" )
die_missing_group_dep(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"is in group '$3', but the group dependency for this group is missing!"
}
die_invalid_group_dep(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"invalid group dependency '$3' for module in group '$4'!"
}
die_illegal_group_dep(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"illegal group dependency '$4' for module in group '$3'!"
}
die_invalid_variants_block(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"invalid type of variants block: must be '!!seq' but is '$3'!"
}
check_yaml_keys(){
local -n valid_yaml_keys="$1"
local -n used_yaml_keys="$2"
@@ -779,7 +801,16 @@ build_modules_yaml_v1(){
get_variants(){
local yaml
yaml=$(${yq} '.variants' 2>/dev/null)
if yaml=$(${yq} -e '.variants' 2>/dev/null); then
local -- type_of_key=''
type_of_key=$( ${yq} -e ".variants | type" 2>/dev/null <<<"${yaml}")
if [[ "${type_of_key}" != 'seq' ]]; then
die_invalid_variants_block "${name}" "${version}" \
"${type_of_key}"
fi
else
yaml=''
fi
echo "${yaml}"
}
@@ -855,23 +886,6 @@ build_modules_yaml_v1(){
fi
}
die_missing_group_dep(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"is in group '$3', but the group dependency for this group is missing!"
}
die_invalid_group_dep(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"invalid group dependency '$3' for module in group '$4'!"
}
die_illegal_group_dep(){
std::die 3 "%s/%s: %s" \
"${1}" "${2}" \
"illegal group dependency '$4' for module in group '$3'!"
}
is_in_array(){
local -r key="$1"
shift 1