setup fixes

This commit is contained in:
mrfry 2023-03-26 20:43:40 +02:00
parent 4d3fd3a0af
commit a4b5dcff37
5 changed files with 84 additions and 102 deletions

View file

@ -1,95 +0,0 @@
#!/bin/bash
hr() {
if [ -t 0 ]; then
printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '='
fi
}
log() {
hr
echo -e "\033[0;32m${@}\033[0m"
hr
}
checkFile() {
if [ ! -f "$@" ]; then
log "$@ does not exists, exiting"
exit
fi
}
function setupJson() {
if [ ! -f "$1" ]; then
echo "Setting up ${1}"
echo '{}' >"$1"
fi
}
makeNextSubmodule() {
log "Making ${1}"
pushd "submodules/${1}/" || exit
npm install
npm audit fix
npm run export
popd || exit
linkTarget="$PWD/nextStatic/${2}"
if [ ! -f "${linkTarget}" ]; then
ln -sf "$PWD/submodules/${1}/out" "${linkTarget}"
fi
}
./setup.sh
log "Making project"
npm install
npm audit fix
npm run export
log "Seting up next.js static stuff..."
mkdir "$PWD/nextStatic"
# ------------------------------------------------------------------------------------
makeNextSubmodule "qmining-page" "qminingPagePublic"
makeNextSubmodule "qmining-data-editor" "dataEditorPublic"
# ------------------------------------------------------------------------------------
log "Making moodle test userscript"
mkdir -pv "$PWD/publicDirs/qminingPublic/moodle-test-userscript"
checkFile "$PWD/submodules/moodle-test-userscript/stable.user.js"
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/"
log "mkdir-ing/touching :3"
# TODO: make server create these itself
mkdir -p stats
mkdir -p stats/logs
mkdir -p stats/vlogs
mkdir -p data
mkdir -p data/dbs
touch data/nolog
#JSONS
setupJson stats/stats
setupJson stats/vstats
setupJson stats/idstats
setupJson stats/idvstats
setupJson publicDirs/qminingPublic/userSpecificMotd.json
setupJson publicDirs/qminingPublic/news.json
touch publicDirs/qminingPublic/version
touch publicDirs/qminingPublic/motd
if [ -z "$(ls -A ./data/dbs)" ]; then
log "Making DB-s"
pushd src/standaloneUtils || exit
NS_LOGLEVEL=2 node dbSetup.js
mv ./*.db ../../data/dbs
popd || exit
fi
log "Disabling next telemetry"
npx --yes next telemetry disable
log "Done!"

View file

@ -1,7 +1,9 @@
#!/bin/bash
hr() {
printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '='
if [ -t 0 ]; then
printf '\033[0;32m%*s\033[0m\n' "$(tput cols)" '' | tr ' ' '='
fi
}
log() {
@ -17,6 +19,26 @@ checkFile() {
fi
}
function setupJson() {
if [ ! -f "$1" ]; then
echo "Setting up ${1}"
echo '{}' >"$1"
fi
}
makeNextSubmodule() {
log "Making ${1}"
pushd "submodules/${1}/" || exit
npm install
npm audit fix > /dev/null 2> /dev/null
npm run export
popd || exit
linkTarget="$PWD/nextStatic/${2}"
if [ ! -f "${linkTarget}" ]; then
ln -sf "$PWD/submodules/${1}/out" "${linkTarget}"
fi
}
log 'Updating / Cloning project'
checkFile "$PWD/src/server.ts"
@ -26,3 +48,56 @@ checkFile "$PWD/package-lock.json"
git pull
git submodule update --init --recursive
log "Making project"
npm install
npm audit fix > /dev/null 2> /dev/null
npm run export
log "Seting up next.js static stuff..."
mkdir "$PWD/nextStatic"
# ------------------------------------------------------------------------------------
makeNextSubmodule "qmining-page" "qminingPagePublic"
makeNextSubmodule "qmining-data-editor" "dataEditorPublic"
# ------------------------------------------------------------------------------------
log "Making moodle test userscript"
mkdir -pv "$PWD/publicDirs/qminingPublic/moodle-test-userscript"
checkFile "$PWD/submodules/moodle-test-userscript/stable.user.js"
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/"
log "mkdir-ing/touching :3"
# TODO: make server create these itself
mkdir -p stats
mkdir -p stats/logs
mkdir -p stats/vlogs
mkdir -p data
mkdir -p data/dbs
touch data/nolog
#JSONS
setupJson stats/stats
setupJson stats/vstats
setupJson stats/idstats
setupJson stats/idvstats
setupJson publicDirs/qminingPublic/userSpecificMotd.json
setupJson publicDirs/qminingPublic/news.json
touch publicDirs/qminingPublic/version
touch publicDirs/qminingPublic/motd
if [ -z "$(ls -A ./data/dbs)" ]; then
log "Making DB-s"
pushd src/standaloneUtils || exit
NS_LOGLEVEL=2 node dbSetup.js
mv ./*.db ../../data/dbs
popd || exit
fi
log "Disabling next telemetry"
npx --yes next telemetry disable
log "Done!"