refactor: factor LAVA job artefact URLs into an array
This is a simple change that collects the artefact URLs into a single
associative array, rather than keeping them as free variables. This
makes it a bit more obvious that they are related, and also makes them
local to the function (arrays are local by default).
Change-Id: I38afc31f74bc2e7f5674a96881e5c51c725827e3
Signed-off-by: Chris Kay <chris.kay@arm.com>
diff --git a/fvp_utils.sh b/fvp_utils.sh
index f381990..2621156 100644
--- a/fvp_utils.sh
+++ b/fvp_utils.sh
@@ -344,45 +344,6 @@
awk -F/ '{print "https://review.trustedfirmware.org/c/" $4 "/" $5}')
fi
- # possible artefacts
- backup_fip="$(fvp_gen_bin_url backup_fip.bin)"
- bl1="$(fvp_gen_bin_url bl1.bin)"
- bl2="$(fvp_gen_bin_url bl2.bin)"
- bl31="$(fvp_gen_bin_url bl31.bin)"
- bl32="$(fvp_gen_bin_url bl32.bin)"
- busybox="$(fvp_gen_bin_url busybox.bin.gz)"
- cactus_primary="$(fvp_gen_bin_url cactus-primary.pkg)"
- cactus_secondary="$(fvp_gen_bin_url cactus-secondary.pkg)"
- cactus_tertiary="$(fvp_gen_bin_url cactus-tertiary.pkg)"
- coverage_trace_plugin="${coverage_trace_plugin}"
- dtb="$(fvp_gen_bin_url ${model_dtb})"
- el3_payload="$(fvp_gen_bin_url el3_payload.bin)"
- fip="$(fvp_gen_bin_url fip.bin)"
- fip_gpt="$(fvp_gen_bin_url fip_gpt.bin)"
- fvp_spmc_manifest_dtb="$(fvp_gen_bin_url fvp_spmc_manifest.dtb)"
- fwu_fip="$(fvp_gen_bin_url fwu_fip.bin)"
- generic_trace="${tfa_downloads}/FastModelsPortfolio_${model_version}/plugins/${model_flavour}/GenericTrace.so"
- hafnium="$(fvp_gen_bin_url hafnium.bin)"
- image="$(fvp_gen_bin_url kernel.bin)"
- ivy="$(fvp_gen_bin_url ivy.pkg)"
- manifest_dtb="$(fvp_gen_bin_url manifest.dtb)"
- mcp_rom="$(fvp_gen_bin_url mcp_rom.bin)"
- mcp_rom_hyphen="$(fvp_gen_bin_url mcp-rom.bin)"
- ns_bl1u="$(fvp_gen_bin_url ns_bl1u.bin)"
- ns_bl2u="$(fvp_gen_bin_url ns_bl2u.bin)"
- ramdisk="$(fvp_gen_bin_url initrd.bin)"
- romlib="$(fvp_gen_bin_url romlib.bin)"
- rootfs="$(fvp_gen_bin_url rootfs.bin.gz)"
- secure_hafnium="$(fvp_gen_bin_url secure_hafnium.bin)"
- scp_ram="$(fvp_gen_bin_url scp_ram.bin)"
- scp_ram_hyphen="$(fvp_gen_bin_url scp-ram.bin)"
- scp_rom="$(fvp_gen_bin_url scp_rom.bin)"
- scp_rom_hyphen="$(fvp_gen_bin_url scp-rom.bin)"
- spm="$(fvp_gen_bin_url spm.bin)"
- tftf="$(fvp_gen_bin_url tftf.bin)"
- tmp="$(fvp_gen_bin_url tmp.bin)"
- uboot="$(fvp_gen_bin_url uboot.bin)"
-
docker_registry="${docker_registry:-}"
docker_registry="$(docker_registry_append)"
docker_name="${docker_registry}$model_name"
@@ -432,6 +393,46 @@
[uboot]="uboot.bin"
)
+ declare -A artefact_urls=(
+ [backup_fip]="$(fvp_gen_bin_url backup_fip.bin)"
+ [bl1]="$(fvp_gen_bin_url bl1.bin)"
+ [bl2]="$(fvp_gen_bin_url bl2.bin)"
+ [bl31]="$(fvp_gen_bin_url bl31.bin)"
+ [bl32]="$(fvp_gen_bin_url bl32.bin)"
+ [busybox]="$(fvp_gen_bin_url busybox.bin.gz)"
+ [cactus_primary]="$(fvp_gen_bin_url cactus-primary.pkg)"
+ [cactus_secondary]="$(fvp_gen_bin_url cactus-secondary.pkg)"
+ [cactus_tertiary]="$(fvp_gen_bin_url cactus-tertiary.pkg)"
+ [coverage_trace_plugin]="${coverage_trace_plugin}"
+ [dtb]="$(fvp_gen_bin_url ${model_dtb})"
+ [el3_payload]="$(fvp_gen_bin_url el3_payload.bin)"
+ [fip]="$(fvp_gen_bin_url fip.bin)"
+ [fip_gpt]="$(fvp_gen_bin_url fip_gpt.bin)"
+ [fvp_spmc_manifest_dtb]="$(fvp_gen_bin_url fvp_spmc_manifest.dtb)"
+ [fwu_fip]="$(fvp_gen_bin_url fwu_fip.bin)"
+ [generic_trace]="${tfa_downloads}/FastModelsPortfolio_${model_version}/plugins/${model_flavour}/GenericTrace.so"
+ [hafnium]="$(fvp_gen_bin_url hafnium.bin)"
+ [image]="$(fvp_gen_bin_url kernel.bin)"
+ [ivy]="$(fvp_gen_bin_url ivy.pkg)"
+ [manifest_dtb]="$(fvp_gen_bin_url manifest.dtb)"
+ [mcp_rom]="$(fvp_gen_bin_url mcp_rom.bin)"
+ [mcp_rom_hyphen]="$(fvp_gen_bin_url mcp-rom.bin)"
+ [ns_bl1u]="$(fvp_gen_bin_url ns_bl1u.bin)"
+ [ns_bl2u]="$(fvp_gen_bin_url ns_bl2u.bin)"
+ [ramdisk]="$(fvp_gen_bin_url initrd.bin)"
+ [romlib]="$(fvp_gen_bin_url romlib.bin)"
+ [rootfs]="$(fvp_gen_bin_url rootfs.bin.gz)"
+ [secure_hafnium]="$(fvp_gen_bin_url secure_hafnium.bin)"
+ [scp_ram]="$(fvp_gen_bin_url scp_ram.bin)"
+ [scp_ram_hyphen]="$(fvp_gen_bin_url scp-ram.bin)"
+ [scp_rom]="$(fvp_gen_bin_url scp_rom.bin)"
+ [scp_rom_hyphen]="$(fvp_gen_bin_url scp-rom.bin)"
+ [spm]="$(fvp_gen_bin_url spm.bin)"
+ [tftf]="$(fvp_gen_bin_url tftf.bin)"
+ [tmp]="$(fvp_gen_bin_url tmp.bin)"
+ [uboot]="$(fvp_gen_bin_url uboot.bin)"
+ )
+
# In LAVA we don't provide the paths to the artefacts directly, but instead
# use macros of the form `{XYZ}`. This is a list of regular expression
# replacements to run on the model parameters file before we add them to the