forked from EvergreenCrypto/docker-finance
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
|
||||
|
||||
local -r _yq=("yq" "-M" "-y" "--indentless" "-e")
|
||||
local -r _sanitize=("sed" "'s:^- ::'" "|" "grep" "-v" "-E" "'(^null\$|\.\.\.)'")
|
||||
|
||||
lib_docker::__run "
|
||||
echo '${_manifest}' \\
|
||||
| shyaml keys container.${_platform}.${_image} \\
|
||||
| $(echo "${_yq[@]}") \".container.${_platform}.\\\"${_image}\\\" | keys\" | sed \"s:^- ::\" \\
|
||||
| while read _key; do
|
||||
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
|
||||
echo -e \\\t\$($_pkg)
|
||||
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
|
||||
echo -e \\\t\$(\$_command)
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user