feat core
: Rewrite even more logs.
This commit is contained in:
parent
409cda4518
commit
e4ae89e026
1 changed files with 47 additions and 35 deletions
82
blueprint.sh
82
blueprint.sh
|
@ -124,7 +124,13 @@ throw() { throwError "$1"; exit 1; }
|
||||||
depend() {
|
depend() {
|
||||||
# Check for incorrect node version.
|
# Check for incorrect node version.
|
||||||
nodeVer=$(node -v)
|
nodeVer=$(node -v)
|
||||||
if [[ $nodeVer != "v17."* ]] && [[ $nodeVer != "v18."* ]] && [[ $nodeVer != "v19."* ]] && [[ $nodeVer != "v20."* ]] && [[ $nodeVer != "v21."* ]]; then DEPEND_MISSING=true; fi
|
if [[ $nodeVer != "v17."* ]] \
|
||||||
|
&& [[ $nodeVer != "v18."* ]] \
|
||||||
|
&& [[ $nodeVer != "v19."* ]] \
|
||||||
|
&& [[ $nodeVer != "v20."* ]] \
|
||||||
|
&& [[ $nodeVer != "v21."* ]]; then
|
||||||
|
DEPEND_MISSING=true
|
||||||
|
fi
|
||||||
|
|
||||||
# Check for required (both internal and external) dependencies.
|
# Check for required (both internal and external) dependencies.
|
||||||
if \
|
if \
|
||||||
|
@ -149,7 +155,12 @@ depend() {
|
||||||
if [[ $DEPEND_MISSING == true ]]; then
|
if [[ $DEPEND_MISSING == true ]]; then
|
||||||
PRINT FATAL "Some framework dependencies are not installed or detected."
|
PRINT FATAL "Some framework dependencies are not installed or detected."
|
||||||
|
|
||||||
if [[ $nodeVer != "v18."* ]] && [[ $nodeVer != "v19."* ]] && [[ $nodeVer != "v20."* ]] && [[ $nodeVer != "v21."* ]]; then PRINT FATAL "Required dependency \"node\" is using an unsupported version."; fi
|
if [[ $nodeVer != "v18."* ]] \
|
||||||
|
&& [[ $nodeVer != "v19."* ]] \
|
||||||
|
&& [[ $nodeVer != "v20."* ]] \
|
||||||
|
&& [[ $nodeVer != "v21."* ]]; then
|
||||||
|
PRINT FATAL "Required dependency \"node\" is using an unsupported version."
|
||||||
|
fi
|
||||||
|
|
||||||
if ! [ -x "$(command -v unzip)" ]; then PRINT FATAL "Required dependency \"unzip\" is not installed or detected."; fi
|
if ! [ -x "$(command -v unzip)" ]; then PRINT FATAL "Required dependency \"unzip\" is not installed or detected."; fi
|
||||||
if ! [ -x "$(command -v node)" ]; then PRINT FATAL "Required dependency \"node\" is not installed or detected."; fi
|
if ! [ -x "$(command -v node)" ]; then PRINT FATAL "Required dependency \"node\" is not installed or detected."; fi
|
||||||
|
@ -1306,7 +1317,8 @@ if [[ ( $2 == "-init" || $2 == "-I" ) ]]; then VCMD="y"
|
||||||
# To prevent accidental wiping of your dev directory, you are unable to initialize another extension
|
# To prevent accidental wiping of your dev directory, you are unable to initialize another extension
|
||||||
# until you wipe the contents of the .blueprint/dev directory.
|
# until you wipe the contents of the .blueprint/dev directory.
|
||||||
if [[ -n $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
if [[ -n $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
||||||
quit_red "[FATAL] Your development directory contains files. To protect you against accidental data loss, you are unable to initialize another extension unless you clear your .blueprint/dev folder."
|
PRINT FATAL "Development directory contains files. To protect you against accidental data loss, you are unable to initialize another extension unless you clear the '.blueprint/dev' folder."
|
||||||
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
ask_template() {
|
ask_template() {
|
||||||
|
@ -1503,7 +1515,7 @@ if [[ ( $2 == "-build" || $2 == "-b" ) ]]; then VCMD="y"
|
||||||
if ! dbValidate "blueprint.developerEnabled"; then PRINT FATAL "Developer mode is not enabled.";exit 2; fi
|
if ! dbValidate "blueprint.developerEnabled"; then PRINT FATAL "Developer mode is not enabled.";exit 2; fi
|
||||||
|
|
||||||
if [[ -z $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
if [[ -z $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
||||||
PRINT FATAL "You do not have any development files."
|
PRINT FATAL "Development directory is empty."
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
PRINT INFO "Starting developer extension installation.."
|
PRINT INFO "Starting developer extension installation.."
|
||||||
|
@ -1517,7 +1529,7 @@ if [[ ( $2 == "-export" || $2 == "-e" ) ]]; then VCMD="y"
|
||||||
if ! dbValidate "blueprint.developerEnabled"; then PRINT FATAL "Developer mode is not enabled.";exit 2; fi
|
if ! dbValidate "blueprint.developerEnabled"; then PRINT FATAL "Developer mode is not enabled.";exit 2; fi
|
||||||
|
|
||||||
if [[ -z $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
if [[ -z $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
||||||
PRINT FATAL "You do not have any development files."
|
PRINT FATAL "Development directory is empty."
|
||||||
exit 2
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1558,22 +1570,18 @@ if [[ ( $2 == "-export" || $2 == "-e" ) ]]; then VCMD="y"
|
||||||
mkdir -p .blueprint/tmp
|
mkdir -p .blueprint/tmp
|
||||||
|
|
||||||
if [[ $3 == "expose"* ]]; then
|
if [[ $3 == "expose"* ]]; then
|
||||||
log_bright "[INFO] Generating download url.."
|
PRINT INFO "Generating download url.. (expires after 2 minutes)"
|
||||||
randstr=${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}
|
randstr=${RANDOM}${RANDOM}${RANDOM}${RANDOM}${RANDOM}
|
||||||
mkdir .blueprint/extensions/blueprint/assets/exports/${randstr}
|
mkdir .blueprint/extensions/blueprint/assets/exports/${randstr}
|
||||||
cp "${identifier}".blueprint .blueprint/extensions/blueprint/assets/exports/${randstr}/"${identifier}".blueprint
|
cp "${identifier}".blueprint .blueprint/extensions/blueprint/assets/exports/${randstr}/"${identifier}".blueprint
|
||||||
log_bright "[INFO] Download url will expire after 2 minutes."
|
|
||||||
|
|
||||||
sendTelemetry "EXPOSE_DEVELOPMENT_EXTENSION" >> $BLUEPRINT__DEBUG
|
sendTelemetry "EXPOSE_DEVELOPMENT_EXTENSION" >> $BLUEPRINT__DEBUG
|
||||||
log_green log_bold "\n[SUCCESS] Your extension has been exported successfully."
|
PRINT SUCCESS "Extension has been exported to '$(grabAppUrl)/assets/extensions/blueprint/exports/${randstr}/${identifier}.blueprint' and '${FOLDER}/${identifier}.blueprint'."
|
||||||
log_green " - $(grabAppUrl)/assets/extensions/blueprint/exports/${randstr}/${identifier}.blueprint"
|
|
||||||
log_green " - ${FOLDER}/${identifier}.blueprint"
|
|
||||||
|
|
||||||
eval "$(sleep 120 && rm -R .blueprint/extensions/blueprint/assets/exports/${randstr} 2>> $BLUEPRINT__DEBUG)" &
|
eval "$(sleep 120 && rm -R .blueprint/extensions/blueprint/assets/exports/${randstr} 2>> $BLUEPRINT__DEBUG)" &
|
||||||
else
|
else
|
||||||
sendTelemetry "EXPORT_DEVELOPMENT_EXTENSION" >> $BLUEPRINT__DEBUG
|
sendTelemetry "EXPORT_DEVELOPMENT_EXTENSION" >> $BLUEPRINT__DEBUG
|
||||||
log_green log_bold "\n[SUCCESS] Your extension has been exported successfully."
|
PRINT SUCCESS "Extension has been exported to '${FOLDER}/${identifier}.blueprint'."
|
||||||
log_green " - ${FOLDER}/${identifier}.blueprint"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1584,18 +1592,18 @@ if [[ ( $2 == "-wipe" || $2 == "-w" ) ]]; then VCMD="y"
|
||||||
if ! dbValidate "blueprint.developerEnabled"; then PRINT FATAL "Developer mode is not enabled.";exit 2; fi
|
if ! dbValidate "blueprint.developerEnabled"; then PRINT FATAL "Developer mode is not enabled.";exit 2; fi
|
||||||
|
|
||||||
if [[ -z $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
if [[ -z $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
||||||
quit_red "[FATAL] You do not have any development files."
|
PRINT FATAL "Development directory is empty."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
log_blue "[INPUT] You are about to wipe all of your development files, are you sure you want to continue? This cannot be undone. (y/N)"
|
PRINT INPUT "You are about to wipe all of your development files, are you sure you want to continue? This cannot be undone. (y/N)"
|
||||||
read -r YN
|
read -r YN
|
||||||
if [[ ( ( ${YN} != "y"* ) && ( ${YN} != "Y"* ) ) || ( ( ${YN} == "" ) ) ]]; then log_bright "[INFO] Development files removal cancelled.";exit 1;fi
|
if [[ ( ( ${YN} != "y"* ) && ( ${YN} != "Y"* ) ) || ( ( ${YN} == "" ) ) ]]; then PRINT INFO "Development files removal cancelled.";exit 1;fi
|
||||||
|
|
||||||
log_bright "[INFO] Wiping development folder.."
|
PRINT INFO "Clearing development folder.."
|
||||||
rm -R .blueprint/dev/* 2>> $BLUEPRINT__DEBUG
|
rm -R .blueprint/dev/* 2>> $BLUEPRINT__DEBUG
|
||||||
rm -R .blueprint/dev/.* 2>> $BLUEPRINT__DEBUG
|
rm -R .blueprint/dev/.* 2>> $BLUEPRINT__DEBUG
|
||||||
|
|
||||||
log_green "[SUCCESS] Your development files have been removed."
|
PRINT SUCCESS "Development folder has been cleared."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# -info
|
# -info
|
||||||
|
@ -1627,7 +1635,7 @@ fi
|
||||||
|
|
||||||
# -rerun-install
|
# -rerun-install
|
||||||
if [[ $2 == "-rerun-install" ]]; then VCMD="y"
|
if [[ $2 == "-rerun-install" ]]; then VCMD="y"
|
||||||
log_yellow "[WARNING] This is an advanced feature, only proceed if you know what you are doing.\n"
|
PRINT WARNING "This is an advanced feature, only proceed if you know what you are doing."
|
||||||
dbRemove "blueprint.setupFinished"
|
dbRemove "blueprint.setupFinished"
|
||||||
cd ${FOLDER} || throw 'cdMissingDirectory'
|
cd ${FOLDER} || throw 'cdMissingDirectory'
|
||||||
bash blueprint.sh
|
bash blueprint.sh
|
||||||
|
@ -1635,35 +1643,38 @@ fi
|
||||||
|
|
||||||
# -upgrade
|
# -upgrade
|
||||||
if [[ $2 == "-upgrade" ]]; then VCMD="y"
|
if [[ $2 == "-upgrade" ]]; then VCMD="y"
|
||||||
log_yellow "[WARNING] This is an advanced feature, only proceed if you know what you are doing.\n"
|
PRINT WARNING "This is an advanced feature, only proceed if you know what you are doing."
|
||||||
|
|
||||||
if [[ -n $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
if [[ -n $(find .blueprint/dev -maxdepth 1 -type f -not -name ".gitkeep" -print -quit) ]]; then
|
||||||
quit_red "[FATAL] Your development directory contains files. To protect you against accidental data loss, you are unable to upgrade unless you clear your .blueprint/dev folder."
|
PRINT FATAL "Development directory contains files. To protect you against accidental data loss, you are unable to upgrade unless you clear the '.blueprint/dev' folder."
|
||||||
|
exit 2
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
# Confirmation question for developer upgrade.
|
# Confirmation question for developer upgrade.
|
||||||
if [[ $3 == "dev" ]]; then
|
if [[ $3 == "dev" ]]; then
|
||||||
log_blue "[INPUT] Upgrading to the latest dev build will update Blueprint to an unstable work-in-progress preview of the next version. Continue? (y/N)"
|
PRINT INPUT "Upgrading to the latest development build will update Blueprint to an unstable work-in-progress preview of the next version. Continue? (y/N)"
|
||||||
read -r YN
|
read -r YN
|
||||||
if [[ ( ${YN} != "y"* ) && ( ${YN} != "Y"* ) ]]; then log_bright "[INFO] Upgrade cancelled.";exit 1;fi
|
if [[ ( ${YN} != "y"* ) && ( ${YN} != "Y"* ) ]]; then PRINT INFO "Upgrade cancelled.";exit 1;fi
|
||||||
YN=""
|
YN=""
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Confirmation question for both developer and stable upgrade.
|
# Confirmation question for both developer and stable upgrade.
|
||||||
log_blue "[INPUT] Upgrading will wipe your .blueprint folder and will overwrite your extensions. Continue? (y/N)"
|
PRINT INPUT "Upgrading will wipe your .blueprint folder and will deactivate all active extensions. Continue? (y/N)"
|
||||||
read -r YN
|
read -r YN
|
||||||
if [[ ( ${YN} != "y"* ) && ( ${YN} != "Y"* ) ]]; then log_bright "[INFO] Upgrade cancelled.";exit 1;fi
|
if [[ ( ${YN} != "y"* ) && ( ${YN} != "Y"* ) ]]; then PRINT INFO "Upgrade cancelled.";exit 1;fi
|
||||||
YN=""
|
YN=""
|
||||||
|
|
||||||
# Last confirmation question for both developer and stable upgrade.
|
# Last confirmation question for both developer and stable upgrade.
|
||||||
log_blue "[INPUT] This is the last warning before upgrading/wiping Blueprint. Type 'continue' to continue, all other input will be taken as 'no'."
|
PRINT INPUT "This is the last warning before upgrading/wiping Blueprint. Type 'continue' to continue, all other input will be taken as 'no'."
|
||||||
read -r YN
|
read -r YN
|
||||||
if [[ ${YN} != "continue" ]]; then log_bright "[INFO] Upgrade cancelled.";exit 1;fi
|
if [[ ${YN} != "continue" ]]; then PRINT INFO "Upgrade cancelled.";exit 1;fi
|
||||||
YN=""
|
YN=""
|
||||||
|
|
||||||
|
|
||||||
log_bright "[INFO] Blueprint is upgrading.. Please do not turn off your machine."
|
if [[ $3 == "dev" ]]; then PRINT INFO "Fetching and pulling latest commit.."
|
||||||
|
else PRINT INFO "Fetching and pulling latest release.."; fi
|
||||||
|
|
||||||
cp blueprint.sh .blueprint.sh.bak
|
cp blueprint.sh .blueprint.sh.bak
|
||||||
if [[ $3 == "dev" ]]; then bash tools/update.sh ${FOLDER} dev
|
if [[ $3 == "dev" ]]; then bash tools/update.sh ${FOLDER} dev
|
||||||
else bash tools/update.sh ${FOLDER}; fi
|
else bash tools/update.sh ${FOLDER}; fi
|
||||||
|
@ -1685,30 +1696,30 @@ if [[ $2 == "-upgrade" ]]; then VCMD="y"
|
||||||
YN=""
|
YN=""
|
||||||
|
|
||||||
# Post-upgrade checks.
|
# Post-upgrade checks.
|
||||||
log_bright "[INFO] Running post-upgrade checks.."
|
PRINT INFO "Validating update.."
|
||||||
score=0
|
score=0
|
||||||
|
|
||||||
if dbValidate "blueprint.setupFinished"; then
|
if dbValidate "blueprint.setupFinished"; then
|
||||||
score=$((score+1))
|
score=$((score+1))
|
||||||
else
|
else
|
||||||
log_yellow "[WARNING] 'blueprint.setupFinished' could not be found."
|
PRINT WARNING "'blueprint.setupFinished' could not be detected or found."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Finalize upgrade.
|
# Finalize upgrade.
|
||||||
if [[ ${score} == 1 ]]; then
|
if [[ ${score} == 1 ]]; then
|
||||||
log_green "[SUCCESS] Blueprint has upgraded successfully."
|
PRINT SUCCESS "Upgrade finished."
|
||||||
rm .blueprint.sh.bak
|
rm .blueprint.sh.bak
|
||||||
exit 1
|
exit 0 # success
|
||||||
elif [[ ${score} == 0 ]]; then
|
elif [[ ${score} == 0 ]]; then
|
||||||
log_red "[FATAL] All checks have failed."
|
PRINT FATAL "All checks have failed. The 'blueprint.sh' file has been reverted."
|
||||||
rm blueprint.sh
|
rm blueprint.sh
|
||||||
mv .blueprint.sh.bak blueprint.sh
|
mv .blueprint.sh.bak blueprint.sh
|
||||||
exit 1
|
exit 1 # error
|
||||||
else
|
else
|
||||||
log_yellow "[WARNING] Some post-upgrade checks have failed."
|
PRINT FATAL "Some checks have failed. The 'blueprint.sh' file has been reverted."
|
||||||
rm blueprint.sh
|
rm blueprint.sh
|
||||||
mv .blueprint.sh.bak blueprint.sh
|
mv .blueprint.sh.bak blueprint.sh
|
||||||
exit 1
|
exit 1 # error
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
@ -1718,4 +1729,5 @@ fi
|
||||||
if [[ ${VCMD} != "y" && $1 == "-bash" ]]; then
|
if [[ ${VCMD} != "y" && $1 == "-bash" ]]; then
|
||||||
# This is logged as a "fatal" error since it's something that is making Blueprint run unsuccessfully.
|
# This is logged as a "fatal" error since it's something that is making Blueprint run unsuccessfully.
|
||||||
quit_red "[FATAL] '$2' is not a valid command or argument. Use argument '-help' for a list of commands."
|
quit_red "[FATAL] '$2' is not a valid command or argument. Use argument '-help' for a list of commands."
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in a new issue