diff --git a/docker-compose.yml b/docker-compose.yml index e69de29..6deb2c4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -0,0 +1,24 @@ +version: '3' +services: + r3: + container_name: ${R3_CONTAINER} + image: ${R3_IMAGE} + build: + dockerfile: ${DOCKERFILE} + context: ${R3_CONTEXT} + args: + - NPM_TOKEN=${NPM_TOKEN} + volumes: + - ${R3_CONTEXT}/src:/app/src + - ${R3_CONTEXT}/test:/app/test + - ${R3_CONTEXT}/dist:/app/dist + - ${R3_CONTEXT}/gulpfile.js:/app/gulpfile.js + - ${R3_CONTEXT}/webpack.config.js:/app/webpack.config.js + networks: + - r3_network + command: "start" + restart: unless-stopped +networks: + r3_network: + name: ${R3_NETWORK_DOMAIN} + external: true \ No newline at end of file diff --git a/install.sh b/install.sh index e69de29..96378ac 100755 --- a/install.sh +++ b/install.sh @@ -0,0 +1,73 @@ +usage() { + echo "Usage : ./install.sh " + echo "" + echo "Where is one of the following" + echo "" + echo " --full : Do a full install" + echo " --system : Install into system" + echo "" + echo "greetings from -= " +} + +cleanup() { + + LAST_ERROR=$? + + if [ "${LAST_ERROR}" = 1 ] ; + then + usage + fi + + if [ "${LAST_ERROR}" = 2 ] ; + then + echo "You do not appear to have a proper install path - please navigate to the r3-cloud folder and run './install.sh --full'" + fi + + + + cd "${CWD}" 2>&1 || exit +} + +R3_INSTALL_PATH=/usr/share/cybafelo/r3/r3-cloud +R3_V2_LIB_PATH=/r3-libs/r3-v2/src + +R3_FOLDER="${R3_INSTALL_PATH}${R3_V2_LIB_PATH}/r3/" +TEMPLATE_FOLDER="${R3_INSTALL_PATH}${R3_V2_LIB_PATH}/templates/" + +CWD=$(pwd) + +TASK=$1 +ARG1=$2 +ARG2=$3 +ARG3=$4 +ARG4=$5 +ARG5=$6 + +trap cleanup EXIT + +cd "${R3_INSTALL_PATH}" 2>&1 || exit 2 + +if [ "${TASK}" = 'create' ]; +then + CLASS_NAME=$ARG1 + TEMPLATE="${ARG2}.template" + EXTEND_CLASS="${ARG3}" + EXTEND_CLASS_FILE_NAME="r3$(echo "${EXTEND_CLASS}" | 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" + + echo "${CLASS_NAME}" + echo "${TEMPLATE}" + echo "${EXTEND_CLASS}" + echo "${FILE_NAME}" + + cp "${TEMPLATE_FOLDER}${TEMPLATE}" "${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/${EXTEND_CLASS}/g" "${R3_FOLDER}${FILE_NAME}" + + CONTENTS=$(cat "${TEMPLATE_FOLDER}create_instance_before.template") + 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}create_instance_after.template") + 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}" + + echo "Created class ${R3_FOLDER}${FILE_NAME}" + + exit 0 +fi + +# shellcheck disable=SC2086 +docker-compose $TASK $ARG1 $ARG2 $ARG3 $ARG4 $ARG5 \ No newline at end of file