Revert "scripts: remove board name from the qualifiers in list_boards.py"

This reverts commit 66b475a3aa.

This commit has broken CI. Let's revert it.
See https://github.com/zephyrproject-rtos/zephyr/issues/70614

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
This commit is contained in:
Alberto Escolar Piedras 2024-03-22 16:25:48 +01:00 committed by Alberto Escolar
commit 37a1d28a36
6 changed files with 33 additions and 33 deletions

View file

@ -285,14 +285,12 @@ elseif(HWMv2)
string(REGEX REPLACE "^//" "/${LIST_BOARD_SOCS}/" BOARD_QUALIFIERS "${BOARD_QUALIFIERS}") string(REGEX REPLACE "^//" "/${LIST_BOARD_SOCS}/" BOARD_QUALIFIERS "${BOARD_QUALIFIERS}")
endif() endif()
set(board_targets ${LIST_BOARD_QUALIFIERS}) if(NOT ("${BOARD}${BOARD_QUALIFIERS}" IN_LIST LIST_BOARD_QUALIFIERS))
list(TRANSFORM board_targets PREPEND "${BOARD}/") string(REPLACE ";" "\n" LIST_BOARD_QUALIFIERS "${LIST_BOARD_QUALIFIERS}")
if(NOT ("${BOARD}${BOARD_QUALIFIERS}" IN_LIST board_targets))
string(REPLACE ";" "\n" board_targets "${board_targets}")
unset(CACHED_BOARD CACHE) unset(CACHED_BOARD CACHE)
message(FATAL_ERROR "Board qualifiers `${BOARD_QUALIFIERS}` for board \ message(FATAL_ERROR "Board qualifiers `${BOARD_QUALIFIERS}` for board \
`${BOARD}` not found. Please specify a valid board target.\n" `${BOARD}` not found. Please specify a valid board target.\n"
"Valid board targets for ${BOARD_NAME} are:\n${board_targets}\n") "Valid board qualifiers for ${BOARD_NAME} are:\n${LIST_BOARD_QUALIFIERS}\n")
endif() endif()
endif() endif()
else() else()

View file

@ -449,8 +449,7 @@ class KconfigCheck(ComplianceTest):
fp.write('config ' + board_str + '\n') fp.write('config ' + board_str + '\n')
fp.write('\t bool\n') fp.write('\t bool\n')
for qualifier in list_boards.board_v2_qualifiers(board): for qualifier in list_boards.board_v2_qualifiers(board):
board_str = ('BOARD_' + board.name + '_' + board_str = 'BOARD_' + re.sub(r"[^a-zA-Z0-9_]", "_", qualifier).upper()
re.sub(r"[^a-zA-Z0-9_]", "_", qualifier)).upper()
fp.write('config ' + board_str + '\n') fp.write('config ' + board_str + '\n')
fp.write('\t bool\n') fp.write('\t bool\n')
fp.write( fp.write(

View file

@ -275,10 +275,10 @@ def add_args_formatting(parser):
help='''CMake Format string to use to list each board''') help='''CMake Format string to use to list each board''')
def variant_v2_qualifiers(variant, qualifiers = None): def variant_v2_qualifiers(variant, qualifiers):
qualifiers_list = [variant.name] if qualifiers is None else [qualifiers + '/' + variant.name] qualifiers_list = [qualifiers + '/' + variant.name]
for v in variant.variants: for v in variant.variants:
qualifiers_list.extend(variant_v2_qualifiers(v, qualifiers_list[0])) qualifiers_list.extend(variant_v2_qualifiers(v, qualifiers + '/' + variant.name))
return qualifiers_list return qualifiers_list
@ -288,17 +288,21 @@ def board_v2_qualifiers(board):
for s in board.socs: for s in board.socs:
if s.cpuclusters: if s.cpuclusters:
for c in s.cpuclusters: for c in s.cpuclusters:
id_str = s.name + '/' + c.name id_str = board.name + '/' + s.name + '/' + c.name
qualifiers_list.append(id_str) qualifiers_list.append(id_str)
for v in c.variants: for v in c.variants:
qualifiers_list.extend(variant_v2_qualifiers(v, id_str)) qualifiers_list.extend(variant_v2_qualifiers(v, id_str))
else: else:
qualifiers_list.append(s.name) id_str = board.name + '/' + s.name
qualifiers_list.append(id_str)
for v in s.variants: for v in s.variants:
qualifiers_list.extend(variant_v2_qualifiers(v, s.name)) qualifiers_list.extend(variant_v2_qualifiers(v, id_str))
if not board.socs:
qualifiers_list.append(board.name)
for v in board.variants: for v in board.variants:
qualifiers_list.extend(variant_v2_qualifiers(v)) qualifiers_list.extend(variant_v2_qualifiers(v, board.name))
return qualifiers_list return qualifiers_list

View file

@ -392,13 +392,8 @@ __set_comp_west_projs()
__set_comp_west_boards() __set_comp_west_boards()
{ {
boards=( $(__west_x boards --format='{name}|{qualifiers}' "$@") ) boards="$(__west_x boards --format={identifiers} "$@")\n$(__west_x boards --format={name} "$@")"
for i in ${!boards[@]}; do __set_comp ${boards//,/\ }
name="${boards[$i]%%|*}"
transformed_board="${boards[$i]//|//}"
boards[$i]="${transformed_board//,/\ ${name}\/}"
done
__set_comp ${boards[@]}
} }
__comp_west_west() __comp_west_west()

View file

@ -196,12 +196,19 @@ function __zephyr_west_complete_help
end end
function __zephyr_west_complete_board function __zephyr_west_complete_board
set -l boards (west 2>/dev/null boards --format="{name}|{qualifiers}") # HWMv1
set -l boards (west 2>/dev/null boards --format="{name} {arch}")
for board in $boards for board in $boards
set -l b (string split "|" $board) set -l b (string split " " $board)
set -l qualifiers (string split "," $b[2]) printf "%s\n" $b[1]\t"$b[2]"
for i in $qualifiers end
printf "%s\n" $b[1]/$i
# HWMv2
set -l boards (west 2>/dev/null boards --format="{identifiers}")
for board in $boards
set -l b (string split "," $board)
for variant in $b
printf "%s\n" $variant[1]
end end
end end
end end
@ -300,7 +307,7 @@ complete -c west -n "__zephyr_west_seen_subcommand_from boards" -l soc-root -xa
# build # build
complete -c west -n "__zephyr_west_use_subcommand; and __zephyr_west_check_if_in_workspace" -ra build -d "compile a Zephyr application" complete -c west -n "__zephyr_west_use_subcommand; and __zephyr_west_check_if_in_workspace" -ra build -d "compile a Zephyr application"
complete -c west -n "__zephyr_west_seen_subcommand_from build" -ra "(__zephyr_west_complete_directories)" complete -c west -n "__zephyr_west_seen_subcommand_from build" -ra "(__zephyr_west_complete_directories)"
complete -c west -n "__zephyr_west_seen_subcommand_from build" -o b -l board -xa "(__zephyr_west_complete_board)" complete -c west -n "__zephyr_west_seen_subcommand_from build" -o b -l board -xa "(__zephyr_west_complete_board)" -d "board to build for"
complete -c west -n "__zephyr_west_seen_subcommand_from build" -o d -l build-dir -xa "(__zephyr_west_complete_directories)" -d "build directory to create or use" complete -c west -n "__zephyr_west_seen_subcommand_from build" -o d -l build-dir -xa "(__zephyr_west_complete_directories)" -d "build directory to create or use"
complete -c west -n "__zephyr_west_seen_subcommand_from build" -o f -l force -d "ignore errors and continue" complete -c west -n "__zephyr_west_seen_subcommand_from build" -o f -l force -d "ignore errors and continue"
complete -c west -n "__zephyr_west_seen_subcommand_from build" -l sysbuild -d "create multi-domain build system" complete -c west -n "__zephyr_west_seen_subcommand_from build" -l sysbuild -d "create multi-domain build system"

View file

@ -102,12 +102,9 @@ _get_west_projs() {
} }
_get_west_boards() { _get_west_boards() {
_west_boards=( $(__west_x boards --format='{name}|{qualifiers}') ) _west_boards="$(__west_x boards --format={identifiers})\n$(__west_x boards --format={name})"
for i in {1..${#_west_boards[@]}}; do _west_boards=${_west_boards//$'\n'/\ }
local name="${_west_boards[$i]%%|*}" _west_boards=${_west_boards//,/\ }
local transformed_board="${_west_boards[$i]//|//}"
_west_boards[$i]="${transformed_board//,/ ${name}/}"
done
_west_boards=(${(@s/ /)_west_boards}) _west_boards=(${(@s/ /)_west_boards})
_describe 'boards' _west_boards _describe 'boards' _west_boards