60 lines
No EOL
1.6 KiB
Bash
Executable file
60 lines
No EOL
1.6 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
#list="build deploy latest release test"
|
|
|
|
#for elem in ${list}
|
|
#do
|
|
# echo "Build ${elem}"
|
|
# j2 -f json \
|
|
# .gitlab/templates/${elem}.yml.j2 \
|
|
# .gitlab/templates/.container_list.json \
|
|
# -o .gitlab/ci/${elem}.yml
|
|
#done
|
|
|
|
exec_with_dry_run () {
|
|
if [[ ${1} -eq ${FLAGS_TRUE} ]]; then
|
|
echo "# ${2}"
|
|
else
|
|
eval "${2}" 2> /tmp/error || \
|
|
{
|
|
echo -e "failed with following error";
|
|
output=$(cat /tmp/error | sed -e "s/^/ error -> /g");
|
|
echo -e "${output}";
|
|
return 1;
|
|
}
|
|
fi
|
|
return 0
|
|
}
|
|
|
|
main () {
|
|
[[ -f ./libs/shflags ]] && . ./libs/shflags || eval "$(curl --silent https://gitlab.g3e.fr/h6n/tools/-/raw/main/libs/shflags)"
|
|
|
|
DEFINE_boolean 'dryrun' false 'Enable dry-run mode' 'd'
|
|
DEFINE_string 'output_path' '' 'Release documentation path' 'o'
|
|
DEFINE_string 'template_path' '' 'Path of artifact list' 't'
|
|
DEFINE_string 'params_path' '' 'Path of artifact list' 'p'
|
|
|
|
FLAGS "$@" || exit $?
|
|
eval set -- "${FLAGS_ARGV}"
|
|
|
|
exec_with_dry_run ${FLAGS_dryrun} "pip install j2cli" > /dev/null
|
|
|
|
ls -a ${FLAGS_template_path} | while read TEMPLATE
|
|
do
|
|
file=$(echo ${TEMPLATE} | grep -Ev '^[\.]*$')
|
|
[[ ${file} != "" ]] && \
|
|
{
|
|
basename=$(echo ${file%.*})
|
|
exec_with_dry_run ${FLAGS_dryrun} "j2 -f json ${FLAGS_template_path}/${file} ${FLAGS_params_path} -o ${FLAGS_output_path}/${basename}"
|
|
}
|
|
done
|
|
}
|
|
|
|
[[ "${BASH_SOURCE[0]}" == "${0}" ]] && \
|
|
{
|
|
main "$@" && exit 0 || exit 1
|
|
}
|
|
[[ "${BASH_SOURCE[0]}" == "" ]] && \
|
|
{
|
|
main "$@" && exit 0 || exit 1
|
|
} |