@@ -169,27 +169,38 @@ _bk_missing_section_artifacts() {
169169
170170_bk_unsupported_bound_packages () {
171171 local breakdown_json=" $1 "
172+ local item_json
173+ local item_kind
174+ local item_name
172175 local package_name
173176 local fn_name
174177
175178 _bk_load_section_package_impls
176179
177- while IFS= read -r package_name; do
178- [[ -z " $package_name " ]] && continue
179- fn_name=" bk_section_package_transform_${package_name} "
180- if ! declare -F " $fn_name " > /dev/null 2>&1 ; then
181- printf ' %s\n' " $package_name "
182- fi
183- done < <(
184- echo " $breakdown_json " | jq -r '
185- [
186- ((.sections // [])
187- | map(select((.estimation_package // "") != "") | "section_package_unsupported:" + .name + ":" + .estimation_package)),
188- ((.overlaps // [])
189- | map(select((.estimation_package // "") != "") | "overlap_package_unsupported:" + (.sections | join(",")) + ":" + .estimation_package))
190- ] | add | .[]
191- '
192- )
180+ for item_kind in section overlap; do
181+ while IFS= read -r item_json; do
182+ [[ -z " $item_json " ]] && continue
183+ package_name=$( echo " $item_json " | jq -r ' .estimation_package // empty' )
184+ [[ -z " $package_name " ]] && continue
185+
186+ if [[ " $item_kind " == " section" ]]; then
187+ item_name=$( echo " $item_json " | jq -r ' .name' )
188+ else
189+ item_name=$( echo " $item_json " | jq -r ' .sections | join(",")' )
190+ fi
191+
192+ fn_name=" bk_section_package_transform_${package_name} "
193+ if ! declare -F " $fn_name " > /dev/null 2>&1 ; then
194+ printf ' %s\n' " ${item_kind} _package_unsupported:${item_name} :${package_name} "
195+ fi
196+ done < <(
197+ if [[ " $item_kind " == " section" ]]; then
198+ echo " $breakdown_json " | jq -c ' .sections // [] | .[]'
199+ else
200+ echo " $breakdown_json " | jq -c ' .overlaps // [] | .[]'
201+ fi
202+ )
203+ done
193204}
194205
195206bk_estimation_package_check_applicability () {
0 commit comments