From 122702a8f586bce651ed10af86a5c2b703dee152 Mon Sep 17 00:00:00 2001 From: Jan Kowalleck Date: Mon, 29 Sep 2025 18:26:33 +0200 Subject: [PATCH] docgen_scripts_more_readable Signed-off-by: Jan Kowalleck --- build/gen.sh | 43 ++++++++++++++++++++++++++++++------------- generate-document.sh | 29 ++++++++++++++++++++--------- 2 files changed, 50 insertions(+), 22 deletions(-) diff --git a/build/gen.sh b/build/gen.sh index 9619b90..18b53f5 100755 --- a/build/gen.sh +++ b/build/gen.sh @@ -3,19 +3,36 @@ printf "OWASP Markdown Conversion Tool\n" BOMTYPE=; +shopt -s nocasematch case $1 in - ([Ss][Bb][Oo][Mm]) BOMTYPE="SBOM";; - ([Cc][Bb][Oo][Mm]) BOMTYPE="CBOM";; - ([Ss][Aa][Aa][Ss][Bb][Oo][Mm]) BOMTYPE="SaaSBOM";; - ([Vv][Dd][Rr]) BOMTYPE="VDR_VEX";; - ([Vv][Ee][Xx]) BOMTYPE="VDR_VEX";; - ([Aa][Tt][Tt][Ee][Ss][Tt][Aa][Tt][Ii][Oo][Nn][Ss]) BOMTYPE="Attestations";; - ([Mm][Ll][Bb][Oo][Mm]) BOMTYPE="ML-BOM";; - ([Mm][Bb][Oo][Mm]) BOMTYPE="MBOM";; - ([Hh][Bb][Oo][Mm]) BOMTYPE="HBOM";; - (*) - echo Invalid argument. Valid arguments are "SBOM", "CBOM", "SaaSBOM", "MLBOM", "MBOM", "HBOM", "VDR", and "Attestations" - exit;; + "SBOM" ) + BOMTYPE="SBOM" + ;; + "CBOM" ) + BOMTYPE="CBOM" + ;; + "SaaSBOM" ) + BOMTYPE="SaaSBOM" + ;; + "VDR" | "VEX" | "VDR_VEX" | "VDR+VEX" ) + BOMTYPE="VDR_VEX" + ;; + "Attestations" ) + BOMTYPE="Attestations" + ;; + "ML-BOM" | "MLBOM") + BOMTYPE="ML-BOM" + ;; + "MBOM" ) + BOMTYPE="MBOM" + ;; + "HBOM" ) + BOMTYPE="HBOM" + ;; + * ) + echo 'Invalid argument. Valid arguments are "SBOM", "CBOM", "SaaSBOM", "MLBOM", "MBOM", "HBOM", "VDR", and "Attestations"' + exit 1 + ;; esac printf "Task: Generate CycloneDX $BOMTYPE guide\n" @@ -26,7 +43,7 @@ function command_exists () { if ! command_exists pandoc; then printf "Error: Please install pandoc. Cannot continue" - exit; + exit 2; fi generate_docx() { diff --git a/generate-document.sh b/generate-document.sh index cd535f8..48fd4d4 100755 --- a/generate-document.sh +++ b/generate-document.sh @@ -4,16 +4,27 @@ echo "OWASP Markdown Conversion Tool" BOMTYPE=; +shopt -s nocasematch case $1 in - ([Ss][Bb][Oo][Mm]) BOMTYPE="SBOM";; - ([Cc][Bb][Oo][Mm]) BOMTYPE="CBOM";; - ([Ss][Aa][Aa][Ss][Bb][Oo][Mm]) BOMTYPE="SaaSBOM";; - ([Vv][Dd][Rr]) BOMTYPE="VDR+VEX";; - ([Vv][Ee][Xx]) BOMTYPE="VDR+VEX";; - ([Aa][Tt][Tt][Ee][Ss][Tt][Aa][Tt][Ii][Oo][Nn][Ss]) BOMTYPE="Attestations";; - (*) + "SBOM" ) + BOMTYPE="SBOM" + ;; + "CBOM" ) + BOMTYPE="CBOM" + ;; + "SaaSBOM" ) + BOMTYPE="SaaSBOM" + ;; + "VDR" | "VEX" | "VDR_VEX" | "VDR+VEX" ) + BOMTYPE="VDR+VEX" + ;; + "Attestations" ) + BOMTYPE="Attestations" + ;; + * ) echo Invalid argument. Valid arguments are "SBOM", "CBOM", "SaaSBOM", "VDR", and "Attestations" - exit;; + exit 1 + ;; esac echo -n "Task: Generate CycloneDX $BOMTYPE guide" @@ -24,7 +35,7 @@ function command_exists () { if ! command_exists pandoc; then echo "Error: Please install pandoc. Cannot continue" - exit; + exit 2; fi generate_docx() {