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