Updated make script

This commit is contained in:
mrfry 2021-06-22 10:05:19 +02:00
parent 444e586796
commit 2d6baa2549

88
scripts/make.sh Executable file → Normal file
View file

@ -1,79 +1,85 @@
#!/bin/bash
hr() {
printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '='
}
log() {
hr
echo -e "\033[0;32m${@}\033[0m"
hr
}
checkFile() {
if [ ! -f "$@" ]; then
echo "$@ does not exists, exiting"
log "$@ does not exists, exiting"
exit
fi
}
checkFile "$PWD/src/server.js"
makeNextSubmodule() {
log "Making ${1}"
pushd "submodules/${1}/"
npm install
npm audit fix
npm run export
popd
ln -sf "$PWD/submodules/${1}/out" "$PWD/nextStatic/${2}"
}
checkFile "$PWD/src/server.ts"
checkFile "$PWD/package.json"
git pull
git submodule update --init --recursive
echo "Installing node modules for server"
log "Installing node modules for server"
npm install
npm audit fix
npm run export
echo "Seting up next.js static stuff..."
log "Seting up next.js static stuff..."
mkdir "$PWD/nextStatic"
echo "Making qmining page"
pushd submodules/qmining-page/
npm install
npm run export
popd
checkFile "$PWD/submodules/qmining-page/out"
ln -sf "$PWD/submodules/qmining-page/out" "$PWD/nextStatic/qminingPagePublic"
# ------------------------------------------------------------------------------------
makeNextSubmodule "qmining-page" "qminingPagePublic"
makeNextSubmodule "qmining-data-editor" "dataEditorPublic"
# ------------------------------------------------------------------------------------
echo "Making data editor page"
pushd submodules/qmining-data-editor/
npm install
npm run export
popd
checkFile "$PWD/submodules/qmining-data-editor/out"
ln -sf "$PWD/submodules/qmining-data-editor/out" "$PWD/nextStatic/dataEditorPublic"
echo "Making moodle test userscript"
mkdir -p "$PWD/publicDirs/qminingPublic/moodle-test-userscript"
log "Making moodle test userscript"
mkdir -pv "$PWD/publicDirs/qminingPublic/moodle-test-userscript"
checkFile "$PWD/submodules/moodle-test-userscript/stable.user.js"
ln -sf "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/moodle-test-userscript/"
ln -sf "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic"
ln -sfv "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic/moodle-test-userscript/"
ln -sfv "$PWD/submodules/moodle-test-userscript/stable.user.js" "$PWD/publicDirs/qminingPublic"
echo "mkdir-ing/touching :3"
log "mkdir-ing/touching :3"
# TODO: make server create these itself
mkdir -p stats
mkdir -p stats/logs
mkdir -p stats/vlogs
touch nolog
mkdir -p data
mkdir -p data/dbs
touch data/nolog
#JSONS
echo '{}' >stats/stats
echo '{}' >stats/vstats
echo '{}' >stats/idstats
echo '{}' >stats/idvstats
echo '{}' >qminingPublic/userSpecificMotd.json
echo '{}' >qminingPublic/news.json
echo '{}' >publicDirs/qminingPublic/userSpecificMotd.json
echo '{}' >publicDirs/qminingPublic/news.json
touch qminingPublic/version
touch qminingPublic/motd
touch publicDirs/qminingPublic/version
touch publicDirs/qminingPublic/motd
echo "wgetting data.json from frylabs..."
wget "http://qmining.frylabs.net/data.json" -O ./qminingPublic/data.json
if [ "$?" -ne "0" ]; then
echo "Failed to wget data.json, please create it yourself!"
echo "Now starting with empty data!"
echo '{"Subjects":[],"version":"TESET","motd":"hai"}' >./qminingPublic/data.json
fi
pushd standaloneUtils
rm -v ../data/dbs/users.db
NS_SQL_DEBUG_LOG=true NS_LOGLEVEL=2 node dbSetup.js
pushd src/standaloneUtils
NS_LOGLEVEL=2 node dbSetup.js
mv *db ../../data/dbs
popd
hr
echo "Done!"
echo "npm start {loglevel}"
echo "To start server"
hr