client: lib_docker: version: refactor to use yq
Replaces `shyaml` dependency with `yq`.
This commit is contained in:
@@ -708,16 +708,19 @@ function lib_docker::__version()
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
|
local -r _yq=("yq" "-M" "-y" "--indentless" "-e")
|
||||||
|
local -r _sanitize=("sed" "'s:^- ::'" "|" "grep" "-v" "-E" "'(^null\$|\.\.\.)'")
|
||||||
|
|
||||||
lib_docker::__run "
|
lib_docker::__run "
|
||||||
echo '${_manifest}' \\
|
echo '${_manifest}' \\
|
||||||
| shyaml keys container.${_platform}.${_image} \\
|
| $(echo "${_yq[@]}") \".container.${_platform}.\\\"${_image}\\\" | keys\" | sed \"s:^- ::\" \\
|
||||||
| while read _key; do
|
| while read _key; do
|
||||||
echo -e \\\ncontainer.${_platform}.${_image}.\${_key}:
|
echo -e \\\ncontainer.${_platform}.${_image}.\${_key}:
|
||||||
echo '${_manifest}' | shyaml get-values container.${_platform}.${_image}.\${_key}.packages 2>/dev/null \\
|
echo '${_manifest}' | $(echo "${_yq[@]}") .container.${_platform}.\\\"${_image}\\\".\${_key}.packages | $(echo "${_sanitize[@]}") 2>/dev/null \\
|
||||||
| while read _package; do
|
| while read _package; do
|
||||||
echo -e \\\t\$($_pkg)
|
echo -e \\\t\$($_pkg)
|
||||||
done
|
done
|
||||||
echo '${_manifest}' | shyaml get-values container.${_platform}.${_image}.\${_key}.commands 2>/dev/null \\
|
echo '${_manifest}' | $(echo "${_yq[@]}") .container.${_platform}.\\\"${_image}\\\".\${_key}.commands | $(echo "${_sanitize[@]}") 2>/dev/null \\
|
||||||
| while read _command; do
|
| while read _command; do
|
||||||
echo -e \\\t\$(\$_command)
|
echo -e \\\t\$(\$_command)
|
||||||
done
|
done
|
||||||
|
|||||||
Reference in New Issue
Block a user