56 lines
2 KiB
Bash
56 lines
2 KiB
Bash
#!/bin/sh
|
|
|
|
# Legend:
|
|
# (A) - Database related operations
|
|
# (B) - Aliases related operations
|
|
# (C) - Strings related operations
|
|
|
|
root=$(pwd)
|
|
|
|
cd elliebot
|
|
|
|
# build
|
|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
|
|
dotnet restore -f --no-cache
|
|
dotnet build src/EllieBot/EllieBot.csproj -c Release -o output/
|
|
|
|
# go back
|
|
cd "$root"
|
|
|
|
# move creds from old to new
|
|
mv -f elliebot_old/output/creds.yml elliebot/output/creds.yml 1>/dev/null 2>&1
|
|
# also copy credentials.json for migration purposes
|
|
mv -f elliebot_old/output/credentials.json elliebot/output/credentials.json 1>/dev/null 2>&1
|
|
|
|
# on update, strings will be new version, user will have to manually re-add his strings after each update
|
|
# as updates may cause big number of strings to become obsolete, changed, etc
|
|
# however, old user's strings will be backed up to strings_old
|
|
|
|
# (C) backup new strings to reverse rewrite
|
|
rm -rf elliebot/output/data/strings_new 1>/dev/null 2>&1
|
|
mv -fT elliebot/output/data/strings elliebot/output/data/strings_new 1>/dev/null 2>&1
|
|
# (C) delete old strings backup
|
|
rm -rf elliebot_old/output/data/strings_old 1>/dev/null 2>&1
|
|
rm -rf elliebot_old/output/data/strings_new 1>/dev/null 2>&1
|
|
|
|
# (B) backup new aliases to reverse rewrite
|
|
mv -f elliebot/output/data/aliases.yml elliebot/output/data/aliases_new.yml 1>/dev/null 2>&1
|
|
|
|
# (A) move old database
|
|
mv -f elliebot_old/output/data/EllieBot.db elliebot/output/data/EllieBot.db 1>/dev/null 2>&1
|
|
|
|
# move old data folder contents (and overwrite)
|
|
cp -RT elliebot_old/output/data/ elliebot/output/data 1>/dev/null 2>&1
|
|
|
|
# (B) backup old aliases
|
|
mv -f elliebot/output/data/aliases.yml elliebot/output/data/aliases_old.yml 1>/dev/null 2>&1
|
|
# (B) restore new aliases
|
|
mv -f elliebot/output/data/aliases_new.yml elliebot/output/data/aliases.yml 1>/dev/null 2>&1
|
|
|
|
# (C) backup old strings
|
|
mv -f elliebot/output/data/strings elliebot/output/data/strings_old 1>/dev/null 2>&1
|
|
# (C) restore new strings
|
|
mv -f elliebot/output/data/strings_new elliebot/output/data/strings 1>/dev/null 2>&1
|
|
|
|
rm "$root/rebuild.sh"
|
|
exit 0
|