diff options
| author | Joe Carstairs <jcarstairs@scottlogic.com> | 2025-07-16 14:50:37 +0100 |
|---|---|---|
| committer | Joe Carstairs <jcarstairs@scottlogic.com> | 2025-07-16 14:50:37 +0100 |
| commit | e6974ac61bfe2cfc5755c9460d0bb3e94a2e4dac (patch) | |
| tree | 8437214413a3d9cc7e8b1ad5ca90570d64db7ce8 /requirements/scripts | |
| parent | d4d629366720d12e4ce87e442c478ffc317fd1b9 (diff) | |
add req-list option: P
Diffstat (limited to 'requirements/scripts')
| -rwxr-xr-x | requirements/scripts/req-list | 43 |
1 files changed, 33 insertions, 10 deletions
diff --git a/requirements/scripts/req-list b/requirements/scripts/req-list index 093d0d2..4e40bc8 100755 --- a/requirements/scripts/req-list +++ b/requirements/scripts/req-list @@ -5,24 +5,31 @@ requirements_dir="$(realpath "$(dirname $0)/..")" usage() { echo " -Usage: req.sh list [options...] <type> +Usage: req.sh list [options...] <type> [id] - <type>: req | dml | ass | need + type: req | dml | ass | need + id: filters items for the given id options: - -S lists only unsatisfied requirements + -S lists unsatisfied requirements + -P lists unsourced requirements " } -while getopts ":S" o +while getopts ":S:P" o do case "$o" in S) unsatisfied=1 shift 1 ;; + P) + unsourced=1 + shift 1 + ;; *) + echo "ERROR: ${o} is not a valid option!" usage exit 1 ;; @@ -34,6 +41,7 @@ id="$2" if [ "$type" == "" ] then + echo "ERROR: you didn't provide a type!" usage exit 1 fi @@ -67,11 +75,26 @@ then echo "$(basename "$filename" | sed "s/.md$//")" fi done - exit 0 fi -filenames=(${dir}/${type}-*${id}.md) -for filename in "${filenames[@]}" -do - echo "$(basename "$filename" | sed "s/.md$//")" -done +if [ "$unsourced" == 1 ] +then + filenames=(${dir}/${type}-*${id}.md) + for filename in "${filenames[@]}" + do + sourced="$(cat $filename | grep -E "^Sources?:")" + if [ -z "$sourced" ] + then + echo "$(basename "$filename" | sed "s/.md$//")" + fi + done +fi + +if [ "$unsatisfied" == "" ] && [ "$unsourced" == "" ] +then + filenames=(${dir}/${type}-*${id}.md) + for filename in "${filenames[@]}" + do + echo "$(basename "$filename" | sed "s/.md$//")" + done +fi |
