restore functions and options

master
Theunis J. Botha 2021-06-28 09:05:53 +02:00
parent f846f775fb
commit a929242ad3
3 changed files with 161 additions and 68 deletions

View File

@ -1,24 +1,39 @@
#!/usr/bin/env bash #!/usr/bin/env bash
R3_INSTALL_PATH=/usr/share/cybafelo/r3/r3-cloud R3_INSTALL_PATH=/usr/share/cybafelo/r3/r3-cloud
R3_SRC_FOLDER="${R3_INSTALL_PATH}/r3-libs/r3-v2/src/r3/"
R3_V2_FOLDER="${R3_INSTALL_PATH}/r3-libs/r3-v2/"
r3_completions() { r3_completions() {
# TASK=${#COMP_WORDS[1]} # TASK=${#COMP_WORDS[1]}
if [ "${#COMP_WORDS[@]}" == "2" ]; then if [ "${#COMP_WORDS[@]}" == "2" ]; then
COMPREPLY=($(compgen -W "create build-events update-options update-templates" "${COMP_WORDS[1]}")) COMPREPLY=($(compgen -W "create build-events update-options update-templates update-methods update-token-db" "${COMP_WORDS[1]}"))
fi
if [[ "${#COMP_WORDS[@]}" == "3" && ( "${COMP_WORDS[1]}" == "update-templates" || "${COMP_WORDS[1]}" == "update-options" || "${COMP_WORDS[1]}" == "update-methods" ) ]]; then
COMPREPLY=($(compgen -W "$(grep "r3 create" "${R3_V2_FOLDER}.r3_history" | sed "s/^.*r3 /r3 /" | sed "s/\s+/ /g" | sort --unique | cut -d' ' -f3 | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}' | sed "s/^/r3/" | sed "s/$/.js/" | perl -pe "s/\n/ /")" "${COMP_WORDS[2]}"))
fi fi
if [ "${#COMP_WORDS[@]}" == "4" ]; then if [ "${#COMP_WORDS[@]}" == "4" ]; then
COMPREPLY=($(compgen -W "extends normal" "${COMP_WORDS[3]}")) COMPREPLY=($(compgen -W "extends normal system static" "${COMP_WORDS[3]}"))
fi fi
if [ "${#COMP_WORDS[@]}" == "5" ]; then if [ "${#COMP_WORDS[@]}" == "5" ] && [ "${COMP_WORDS[3]}" == "extends" ] ; then
local classes=$(grep "^class" "${R3_INSTALL_PATH}"/r3-libs/r3-v2/src/r3/*.js | perl -pe "s/.*class\s*(\w.*?)\s.*/\1/" | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/ /g') local classes=$(grep "^class" "${R3_INSTALL_PATH}"/r3-libs/r3-v2/src/r3/*.js | perl -pe "s/.*class\s*(\w.*?)\s.*/\1/" | perl -pe 's/\n/ /g')
COMPREPLY=($(compgen -W "${classes}" "${COMP_WORDS[4]}")) COMPREPLY=($(compgen -W "${classes}" "${COMP_WORDS[4]}"))
fi fi
if [ "${#COMP_WORDS[@]}" == "5" ] && [ "${COMP_WORDS[3]}" == "system" ] ; then
local classes=$(grep "^class" "${R3_INSTALL_PATH}"/r3-libs/r3-v2/src/r3/r3-system/*.js | perl -pe "s/.*class\s*(\w.*?)\s.*/\1/" | perl -pe 's/\n/ /g')
COMPREPLY=($(compgen -W "${classes}" "${COMP_WORDS[4]}"))
fi
if [[ "${#COMP_WORDS[@]}" == "5" && ( "${COMP_WORDS[3]}" == "normal" || "${COMP_WORDS[3]}" == "static" ) ]]; then
COMPREPLY=($(compgen -W "$(find "${R3_SRC_FOLDER}" -ls | grep drw | sed "s/.*src\/r3/./" | sed "s/$/\//" | sed "s/\/\//\//g" | perl -pe 's/\n/ /g')" "${COMP_WORDS[4]}"))
fi
} }
complete -F r3_completions r3 complete -F r3_completions r3

@ -1 +1 @@
Subproject commit 31b2bc87e38f8f9aeb68884e50aa2a07a895209b Subproject commit 9107d31d22bd3fab853b1f5dc30f20dfdd7b604c

204
r3.sh
View File

@ -8,7 +8,6 @@ store_history() {
if [ "${TASK}" = 'create' ]; if [ "${TASK}" = 'create' ];
then then
COMMAND=$(echo "r3 ${TASK} ${ARG1} ${ARG2} ${ARG3} ${ARG4} ${ARG5}" | sed "s/\s+/ /g" | sed "s/\s*$//") COMMAND=$(echo "r3 ${TASK} ${ARG1} ${ARG2} ${ARG3} ${ARG4} ${ARG5}" | sed "s/\s+/ /g" | sed "s/\s*$//")
echo "command was : ${COMMAND}"
if grep -q "${COMMAND}" "${R3_V2_LIB_PATH}"/.r3_history; if grep -q "${COMMAND}" "${R3_V2_LIB_PATH}"/.r3_history;
then then
echo "Already found command in history" echo "Already found command in history"
@ -43,6 +42,11 @@ cleanup() {
echo "You do not appear to have a proper lib path - did you clone the project correctly?" echo "You do not appear to have a proper lib path - did you clone the project correctly?"
fi fi
if [ "${LAST_ERROR}" = 4 ] ;
then
echo "File not found"
fi
cd "${CWD}" 2>&1 || exit cd "${CWD}" 2>&1 || exit
} }
@ -50,6 +54,7 @@ R3_INSTALL_PATH=/usr/share/cybafelo/r3/r3-cloud
R3_V2_LIB_PATH=${R3_INSTALL_PATH}/r3-libs/r3-v2 R3_V2_LIB_PATH=${R3_INSTALL_PATH}/r3-libs/r3-v2
R3_V2_SRC_PATH=${R3_INSTALL_PATH}/r3-libs/r3-v2/src R3_V2_SRC_PATH=${R3_INSTALL_PATH}/r3-libs/r3-v2/src
R3_FOLDER="${R3_V2_SRC_PATH}/r3/" R3_FOLDER="${R3_V2_SRC_PATH}/r3/"
R3_SYSTEM_FOLDER="${R3_V2_SRC_PATH}/r3/r3-system/"
TEMPLATE_FOLDER="${R3_V2_SRC_PATH}/templates/" TEMPLATE_FOLDER="${R3_V2_SRC_PATH}/templates/"
CWD=$(pwd) CWD=$(pwd)
@ -65,23 +70,54 @@ trap cleanup EXIT
cd "${R3_INSTALL_PATH}" 2>&1 || exit 2 cd "${R3_INSTALL_PATH}" 2>&1 || exit 2
if [ "${TASK}" = 'update-token-db' ];
then
echo "updating token.db"
grep "\bGENERATE_[A-Z_]*\b" "${R3_V2_SRC_PATH}"/* -R | sed "s/^.*GENERATE_/GENERATE_/" | sed "s/\(_START\|_END\)$//" | sort --unique > "${TEMPLATE_FOLDER}"token.db
grep "\bCUSTOM_[A-Z_]*\b" "${R3_V2_SRC_PATH}"/* -R | sed "s/^.*CUSTOM_/CUSTOM_/" | sed "s/\(_START\|_END\)$//" | sort --unique >> "${TEMPLATE_FOLDER}"token.db
exit 0;
fi
if [ "${TASK}" = 'create' ]; if [ "${TASK}" = 'create' ];
then then
# echo "updating token.db"
# grep "GENERATE_.*_START" "${TEMPLATE_FOLDER}"*.template "${R3_FOLDER}"*.js "${R3_SYSTEM_FOLDER}"*.js -R | sed "s/^.*GENERATE_/GENERATE_/" | sed "s/_START$//" | sort --unique > "${TEMPLATE_FOLDER}"token.db
# grep "CUSTOM_.*_START" "${TEMPLATE_FOLDER}"*.template "${R3_FOLDER}"*.js "${R3_SYSTEM_FOLDER}"*.js -R | sed "s/^.*CUSTOM_/CUSTOM_/" | sed "s/_START$//" | sort --unique >> "${TEMPLATE_FOLDER}"token.db
CLASS_NAME=$ARG1 CLASS_NAME=$ARG1
FILE_NAME="r3$(echo "${CLASS_NAME}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}').js" FILE_NAME="r3$(echo "${CLASS_NAME}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}').js"
TEMPLATE="${ARG2}.template" TEMPLATE="${ARG2}.template"
EXTEND_CLASS='' EXTEND_CLASS=''
EXTEND_CLASS_FILE_NAME='' EXTEND_CLASS_FILE_NAME=''
SUBFOLDER='./'
INCLUDE_PATH='.'
if [ "${ARG2}" = "extends" ]; then if [ "${ARG2}" = "extends" ]; then
EXTEND_CLASS="${ARG3}" EXTEND_CLASS="${ARG3}"
EXTEND_CLASS_FILE_NAME="r3$(echo "${EXTEND_CLASS}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}').js" EXTEND_CLASS_FILE_NAME="r3$(echo "${EXTEND_CLASS}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}').js"
echo "creating class ${CLASS_NAME} based on template ${TEMPLATE} extending ${EXTEND_CLASS} and saving to ${FILE_NAME}" echo "Creating class ${CLASS_NAME} based on template ${TEMPLATE} extending ${EXTEND_CLASS} and saving to ${R3_FOLDER}${FILE_NAME}"
fi fi
if [ "${ARG2}" = "normal" ]; then if [ "${ARG2}" = "normal" ] || [ "${ARG2}" = "static" ]; then
echo "creating normal class ${CLASS_NAME} based on template ${TEMPLATE} and saving to ${FILE_NAME}"
SUBFOLDER="${ARG3}"
SLASH_COUNT=$(echo "${SUBFOLDER}" | perl -lne 'END {print $c} map ++$c, /\//g')
for ((i=1; i < SLASH_COUNT; i++)) do
INCLUDE_PATH="../$INCLUDE_PATH"
done
R3_FOLDER="${R3_FOLDER}${SUBFOLDER}"
echo "Creating ${ARG2} class ${CLASS_NAME} based on template ${TEMPLATE} and saving to ${R3_FOLDER}${FILE_NAME}"
fi
if [ "${ARG2}" = "system" ]; then
INCLUDE_PATH="../$INCLUDE_PATH"
R3_FOLDER=$R3_SYSTEM_FOLDER
EXTEND_CLASS="${ARG3}"
EXTEND_CLASS_FILE_NAME="r3$(echo "${EXTEND_CLASS}" | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}').js"
echo "Creating system ${CLASS_NAME} based on template ${TEMPLATE} extending ${EXTEND_CLASS} and saving to ${R3_FOLDER}${FILE_NAME}"
fi fi
cp "${TEMPLATE_FOLDER}${TEMPLATE}" "${R3_FOLDER}${FILE_NAME}" cp "${TEMPLATE_FOLDER}${TEMPLATE}" "${R3_FOLDER}${FILE_NAME}"
@ -102,64 +138,40 @@ then
perl -p -i -e 's/^const Utils.*\n$//' "${R3_FOLDER}${FILE_NAME}" perl -p -i -e 's/^const Utils.*\n$//' "${R3_FOLDER}${FILE_NAME}"
fi fi
if [ "${ARG2}" = "extends" ]; then grep 'GENERATE_' < "${TEMPLATE_FOLDER}"token.db | sed "s/^.*GENERATE/GENERATE/" | while IFS= read -r TOKEN
CONTENTS=$(cat "${TEMPLATE_FOLDER}constructor_extends.template" | sed -E 's/([+,/,@])/\\\1/g') do
perl -i -pe "BEGIN{undef $/;} s/\/\/CONSTRUCTOR_EXTENDS_TEMPLATE_START.*\/\/CONSTRUCTOR_EXTENDS_TEMPLATE_END/\/\/CONSTRUCTOR_EXTENDS_TEMPLATE_START\n${CONTENTS}\n\t\/\/CONSTRUCTOR_EXTENDS_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}"
fi
if [ "${ARG2}" = "normal" ]; then START_TOKEN="${TOKEN}_START"
CONTENTS=$(cat "${TEMPLATE_FOLDER}constructor.template" | sed -E 's/([+,/,@])/\\\1/g') END_TOKEN="${TOKEN}_END"
perl -i -pe "BEGIN{undef $/;} s/\/\/CONSTRUCTOR_TEMPLATE_START.*\/\/CONSTRUCTOR_TEMPLATE_END/\/\/CONSTRUCTOR_TEMPLATE_START\n${CONTENTS}\n\t\/\/CONSTRUCTOR_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}" TEMPLATE=$(echo "${TOKEN}.template" | sed "s/^GENERATE_//" | awk '{print tolower($0)}')
fi
CONTENTS=$(cat "${TEMPLATE_FOLDER}create_instance.template" | sed -E 's/([+,/,@])/\\\1/g') if grep -q "${START_TOKEN}" "${R3_FOLDER}${FILE_NAME}"; then
perl -i -pe "BEGIN{undef $/;} s/\/\/CREATE_INSTANCE_TEMPLATE_START.*\/\/CREATE_INSTANCE_TEMPLATE_END/\/\/CREATE_INSTANCE_TEMPLATE_START\n${CONTENTS}\n\t\/\/CREATE_INSTANCE_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}update_instance.template" | sed -E 's/([+,/,@])/\\\1/g') if [ -f "${TEMPLATE_FOLDER}${TEMPLATE}" ]; then
perl -i -pe "BEGIN{undef $/;} s/\/\/UPDATE_INSTANCE_TEMPLATE_START.*\/\/UPDATE_INSTANCE_TEMPLATE_END/\/\/UPDATE_INSTANCE_TEMPLATE_START\n${CONTENTS}\n\t\/\/UPDATE_INSTANCE_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}update_from_instance.template" | sed -E 's/([+,/,@])/\\\1/g') echo "Generating template ${TEMPLATE}"
perl -i -pe "BEGIN{undef $/;} s/\/\/UPDATE_FROM_INSTANCE_TEMPLATE_START.*\/\/UPDATE_FROM_INSTANCE_TEMPLATE_END/\/\/UPDATE_FROM_INSTANCE_TEMPLATE_START\n${CONTENTS}\n\t\/\/UPDATE_FROM_INSTANCE_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}dispose.template" | sed -E 's/([+,/,@])/\\\1/g') SPACE_COUNT=$(grep "${END_TOKEN}" "${R3_FOLDER}${FILE_NAME}" | perl -pe "s/^.*?(\s)/\1/" | perl -lne 'END {print $c} map ++$c, / /g')
perl -i -pe "BEGIN{undef $/;} s/\/\/DISPOSE_TEMPLATE_START.*\/\/DISPOSE_TEMPLATE_END/\/\/DISPOSE_TEMPLATE_START\n${CONTENTS}\n\t\/\/DISPOSE_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}" SPACES=''
CONTENTS=$(cat "${TEMPLATE_FOLDER}dispose_instance.template" | sed -E 's/([+,/,@])/\\\1/g') for ((i=0; i < SPACE_COUNT; i++)) do
perl -i -pe "BEGIN{undef $/;} s/\/\/DISPOSE_INSTANCE_TEMPLATE_START.*\/\/DISPOSE_INSTANCE_TEMPLATE_END/\/\/DISPOSE_INSTANCE_TEMPLATE_START\n${CONTENTS}\n\t\/\/DISPOSE_INSTANCE_TEMPLATE_END/smg" "${R3_FOLDER}${FILE_NAME}" SPACES=" $SPACES"
done
CONTENTS=$(cat "${TEMPLATE_FOLDER}create_instance_before.template" | sed -E 's/([+,/,@])/\\\1/g') # shellcheck disable=SC2002
perl -i -pe "BEGIN{undef $/;} s/\/\/CREATE_INSTANCE_BEFORE_START.*\/\/CREATE_INSTANCE_BEFORE_END/\/\/CREATE_INSTANCE_BEFORE_START\n${CONTENTS}\n\t\t\/\/CREATE_INSTANCE_BEFORE_END/smg" "${R3_FOLDER}${FILE_NAME}" CONTENTS=$(cat "${TEMPLATE_FOLDER}${TEMPLATE}" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/${START_TOKEN}.*\/\/${END_TOKEN}/${START_TOKEN}\n${CONTENTS}\n${SPACES}\/\/${END_TOKEN}/smg" "${R3_FOLDER}${FILE_NAME}"
fi
fi
CONTENTS=$(cat "${TEMPLATE_FOLDER}create_instance_after.template" | sed -E 's/([+,/,@])/\\\1/g') done
perl -i -pe "BEGIN{undef $/;} s/\/\/CREATE_INSTANCE_AFTER_START.*\/\/CREATE_INSTANCE_AFTER_END/\/\/CREATE_INSTANCE_AFTER_START\n${CONTENTS}\n\t\t\/\/CREATE_INSTANCE_AFTER_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}update_instance_before.template" | sed -E 's/([+,/,@])/\\\1/g') INCLUDE_PATH=$(echo "${INCLUDE_PATH}" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/UPDATE_INSTANCE_BEFORE_START.*\/\/UPDATE_INSTANCE_BEFORE_END/\/\/UPDATE_INSTANCE_BEFORE_START\n${CONTENTS}\n\t\t\/\/UPDATE_INSTANCE_BEFORE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}update_instance_after.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/UPDATE_INSTANCE_AFTER_START.*\/\/UPDATE_INSTANCE_AFTER_END/\/\/UPDATE_INSTANCE_AFTER_START\n${CONTENTS}\n\t\t\/\/UPDATE_INSTANCE_AFTER_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}update_from_instance_before.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/UPDATE_FROM_INSTANCE_BEFORE_START.*\/\/UPDATE_FROM_INSTANCE_BEFORE_END/\/\/UPDATE_FROM_INSTANCE_BEFORE_START\n${CONTENTS}\n\t\t\/\/UPDATE_FROM_INSTANCE_BEFORE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}update_from_instance_after.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/UPDATE_FROM_INSTANCE_AFTER_START.*\/\/UPDATE_FROM_INSTANCE_AFTER_END/\/\/UPDATE_FROM_INSTANCE_AFTER_START\n${CONTENTS}\n\t\t\/\/UPDATE_FROM_INSTANCE_AFTER_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}dispose_before.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/DISPOSE_BEFORE_START.*\/\/DISPOSE_BEFORE_END/\/\/DISPOSE_BEFORE_START\n${CONTENTS}\n\t\t\/\/DISPOSE_BEFORE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}dispose_after.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/DISPOSE_AFTER_START.*\/\/DISPOSE_AFTER_END/\/\/DISPOSE_AFTER_START\n${CONTENTS}\n\t\t\/\/DISPOSE_AFTER_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}dispose_instance_before.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/DISPOSE_INSTANCE_BEFORE_START.*\/\/DISPOSE_INSTANCE_BEFORE_END/\/\/DISPOSE_INSTANCE_BEFORE_START\n${CONTENTS}\n\t\t\/\/DISPOSE_INSTANCE_BEFORE_END/smg" "${R3_FOLDER}${FILE_NAME}"
CONTENTS=$(cat "${TEMPLATE_FOLDER}dispose_instance_after.template" | sed -E 's/([+,/,@])/\\\1/g')
perl -i -pe "BEGIN{undef $/;} s/\/\/DISPOSE_INSTANCE_AFTER_START.*\/\/DISPOSE_INSTANCE_AFTER_END/\/\/DISPOSE_INSTANCE_AFTER_START\n${CONTENTS}\n\t\t\/\/DISPOSE_INSTANCE_AFTER_END/smg" "${R3_FOLDER}${FILE_NAME}"
sed -i "s/CLASS_NAME/${CLASS_NAME}/g" "${R3_FOLDER}${FILE_NAME}" sed -i "s/CLASS_NAME/${CLASS_NAME}/g" "${R3_FOLDER}${FILE_NAME}"
sed -i "s/EXTEND_CLASS_FILE_NAME/${EXTEND_CLASS_FILE_NAME}/g" "${R3_FOLDER}${FILE_NAME}" sed -i "s/EXTEND_CLASS_FILE_NAME/${EXTEND_CLASS_FILE_NAME}/g" "${R3_FOLDER}${FILE_NAME}"
sed -i "s/EXTEND_CLASS/${EXTEND_CLASS}/g" "${R3_FOLDER}${FILE_NAME}" sed -i "s/EXTEND_CLASS/${EXTEND_CLASS}/g" "${R3_FOLDER}${FILE_NAME}"
sed -i "s/INCLUDE_PATH/${INCLUDE_PATH}/g" "${R3_FOLDER}${FILE_NAME}"
echo "Created class ${R3_FOLDER}${FILE_NAME}" echo "Created class ${R3_FOLDER}${FILE_NAME}"
@ -186,6 +198,24 @@ then
exit 0 exit 0
fi fi
check_file_found() {
FILE="$1"
ORIG_FILE=$FILE
FILE="${R3_FOLDER}${FILE}"
if [ ! -f "${FILE}" ]; then
FILE="${R3_SYSTEM_FOLDER}${ORIG_FILE}"
fi
if [ ! -f "${FILE}" ]; then
exit 4
fi
}
if [ "${TASK}" = 'update-templates' ]; if [ "${TASK}" = 'update-templates' ];
then then
@ -193,44 +223,92 @@ then
cd "${R3_V2_LIB_PATH}" 2>&1 || exit 3 cd "${R3_V2_LIB_PATH}" 2>&1 || exit 3
COMMANDS=$(grep "r3 create" .r3_history | sed "s/^.*r3/r3/" | sed "s/\s+/ /g" | sort --unique | sed -e ':a' -e 'N' -e '$!ba' -e 's/\n/,/g') COMMANDS=$(grep "r3 create" .r3_history | sed "s/^.*r3 /r3 /" | sed "s/\s+/ /g" | sort --unique | perl -pe "s/\n/,/" | perl -pe "s/\s+,/,/g" | perl -pe "s/,$//")
FILES=$(grep "r3 create" .r3_history | sed "s/^.*r3/r3/" | sed "s/\s+/ /g" | sort --unique | cut -d' ' -f3 | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}' | sed "s/^/r3/" | sed "s/$/.js/") FILES=$(grep "r3 create" .r3_history | sed "s/^.*r3 /r3 /" | sed "s/\s+/ /g" | sort --unique | cut -d' ' -f3 | sed 's/\([A-Z]\)/-\1/g' | awk '{print tolower($0)}' | sed "s/^/r3/" | sed "s/$/.js/")
IFS=',' read -a commands <<< $COMMANDS IFS=',' read -a commands <<< $COMMANDS
INDEX=0 INDEX=-1
for FILE in ${FILES}; do for FILE in ${FILES}; do
FILE_PATH="${R3_FOLDER}${FILE}"
COMMAND="${commands[$INDEX]}"; INDEX=$((INDEX + 1));
INDEX=$(($INDEX + 1));
if [ -f "${FILE_PATH}" ] ; ORIG_FILE=$FILE
check_file_found "${ORIG_FILE}"
if [ -n "${ARG1}" ] && [ "${ARG1}" != "${ORIG_FILE}" ];
then then
./update_templates.php save "${FILE_PATH}" echo "skipping ${ORIG_FILE}"
continue
else
COMMAND="${commands[$INDEX]}";
echo "File = ${FILE}";
echo "Command = ${COMMAND}";
set -o xtrace
./update_templates.php "${FILE}" save
$COMMAND $COMMAND
./update_templates.php restore "${FILE_PATH}" ./update_templates.php "${FILE}" restore
fi fi
done done
cd - 2>&1 || exit 3 cd - 2>&1 || exit 3
exit 0;
fi fi
if [ "${TASK}" = 'update-options' ] || [ "${TASK}" = 'update-templates' ]; if [ "${TASK}" = 'update-options' ];
then then
echo "updating options" echo "updating options"
cd "${R3_V2_LIB_PATH}" 2>&1 || exit 3 cd "${R3_V2_LIB_PATH}" 2>&1 || exit 3
./update_options.php all if [ -n "${ARG1}" ] ;
then
check_file_found "${ARG1}"
./update_templates.php "${FILE}" update-options
else
./update_templates.php all update-options
fi
cd - 2>&1 || exit 3 cd - 2>&1 || exit 3
exit 0 exit 0;
fi
if [ "${TASK}" = 'update-methods' ];
then
echo "updating methods"
cd "${R3_V2_LIB_PATH}" 2>&1 || exit 3
if [ -n "${ARG1}" ] ;
then
check_file_found "${ARG1}"
./update_templates.php "${FILE}" install-methods
else
./update_templates.php all install-methods
fi
cd - 2>&1 || exit 3
exit 0;
fi fi
# shellcheck disable=SC2086 # shellcheck disable=SC2086