dockerized libs and can create components with templates
parent
3becc75ef6
commit
6dc3fb6964
|
@ -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
|
73
install.sh
73
install.sh
|
@ -0,0 +1,73 @@
|
|||
usage() {
|
||||
echo "Usage : ./install.sh <flag>"
|
||||
echo ""
|
||||
echo "Where <flag> is one of the following"
|
||||
echo ""
|
||||
echo " --full : Do a full install"
|
||||
echo " --system : Install into system"
|
||||
echo ""
|
||||
echo "greetings from -=<yb4f310 ..."
|
||||
}
|
||||
|
||||
cleanup() {
|
||||
|
||||
LAST_ERROR=$?
|
||||
|
||||
if [ "${LAST_ERROR}" = 1 ] ;
|
||||
then
|
||||
usage
|
||||
fi
|
||||
}
|
||||
|
||||
trap cleanup EXIT
|
||||
|
||||
FLAG=$1
|
||||
BIN_INSTALL_PATH=/usr/local/bin/r3
|
||||
COMPLETION_INSTALL_PATH=/etc/bash_completion.d/r3-completion.bash
|
||||
|
||||
if [ "${FLAG}" != '--full' ] && \
|
||||
[ "${FLAG}" != '--system' ];
|
||||
then
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
|
||||
|
||||
if [ "${FLAG}" = '--full' ] || [ "${FLAG}" = '--system' ];
|
||||
then
|
||||
|
||||
echo "installing r3.sh into system"
|
||||
|
||||
echo "updating r3.sh"
|
||||
sed -i "/^R3_INSTALL_PATH=/s/R3_INSTALL_PATH\=.*/R3_INSTALL_PATH=$(printf %q $(pwd) | sed -E 's/([+,/,@])/\\\1/g')/" r3.sh
|
||||
|
||||
echo "updating r3-completion.bash"
|
||||
sed -i "/^R3_INSTALL_PATH=/s/R3_INSTALL_PATH\=.*/R3_INSTALL_PATH=$(printf %q $(pwd) | sed -E 's/([+,/,@])/\\\1/g')/" r3-completion.bash
|
||||
|
||||
echo "r3 install path set to ${PWD}"
|
||||
|
||||
if [ -L "${BIN_INSTALL_PATH}" ] ;
|
||||
then
|
||||
echo "r3 was already installed to ${BIN_INSTALL_PATH}"
|
||||
else
|
||||
echo "r3 was not found at ${BIN_INSTALL_PATH} - installing now"
|
||||
sudo ln -s "${PWD}/"r3.sh "${BIN_INSTALL_PATH}"
|
||||
echo "successfully installed r3 at ${BIN_INSTALL_PATH}"
|
||||
fi
|
||||
|
||||
|
||||
if [ -L "${COMPLETION_INSTALL_PATH}" ] ;
|
||||
then
|
||||
echo "r3-completion.bash was already installed to ${COMPLETION_INSTALL_PATH}"
|
||||
else
|
||||
echo "r3-completion.bash was not found at ${COMPLETION_INSTALL_PATH} - installing now"
|
||||
sudo ln -s "${PWD}/"r3-completion.bash "${COMPLETION_INSTALL_PATH}"
|
||||
echo "successfully installed r3-completion.bash at ${COMPLETION_INSTALL_PATH}"
|
||||
fi
|
||||
|
||||
if [ "${FLAG}" = '--system' ] ;
|
||||
then
|
||||
exit 0
|
||||
fi
|
||||
|
||||
fi
|
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
R3_INSTALL_PATH=/usr/share/cybafelo/r3/r3-cloud
|
||||
|
||||
r3_completions() {
|
||||
|
||||
# TASK=${#COMP_WORDS[1]}
|
||||
|
||||
if [ "${#COMP_WORDS[@]}" == "2" ]; then
|
||||
COMPREPLY=($(compgen -W "create" "${COMP_WORDS[1]}"))
|
||||
fi
|
||||
|
||||
if [ "${#COMP_WORDS[@]}" == "4" ]; then
|
||||
COMPREPLY=($(compgen -W "extends" "${COMP_WORDS[3]}"))
|
||||
fi
|
||||
|
||||
if [ "${#COMP_WORDS[@]}" == "5" ]; 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')
|
||||
COMPREPLY=($(compgen -W "${classes}" "${COMP_WORDS[4]}"))
|
||||
fi
|
||||
|
||||
}
|
||||
|
||||
complete -F r3_completions r3
|
|
@ -1 +1 @@
|
|||
Subproject commit 537725a21b4a349cc0cd7115cd497af2e8f2f487
|
||||
Subproject commit fd04d04973ab6495cf5bffb4225a25ccbef669a4
|
76
r3.sh
76
r3.sh
|
@ -0,0 +1,76 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
usage() {
|
||||
echo "Usage : r3 <task> <container>"
|
||||
}
|
||||
|
||||
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
|
Loading…
Reference in New Issue