90 lines
1.7 KiB
Bash
Executable File
90 lines
1.7 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function Build() {
|
|
echo ""
|
|
echo " This is your first run of the project"
|
|
echo " Compiling..."
|
|
echo ""
|
|
dotnet build --configuration Release --nologo --verbosity q
|
|
chmod +x ./TicketOffice/bin/Release/net6.0/TicketOffice
|
|
cp -r ./TicketOffice/wwwroot/ ./TicketOffice/bin/Release/net6.0/
|
|
echo ""
|
|
echo " Project compiled."
|
|
echo ""
|
|
}
|
|
|
|
function RenewDatabase() {
|
|
echo ""
|
|
echo " Renewing the database..."
|
|
echo ""
|
|
dotnet-ef database drop -f --project ./TicketOffice/
|
|
dotnet-ef database update --project ./TicketOffice/
|
|
yes | cp ./TicketOffice/wwwroot/db/TicketOffice-SQLite.db ./TicketOffice/bin/Release/net6.0/wwwroot/db/
|
|
echo ""
|
|
echo " Database renewed."
|
|
echo ""
|
|
}
|
|
|
|
function Start() {
|
|
echo ""
|
|
echo " Starting..."
|
|
echo ""
|
|
cd ./TicketOffice/bin/Release/net6.0/
|
|
./TicketOffice
|
|
}
|
|
|
|
function RunScript() {
|
|
str=$(ls ./TicketOffice/bin | grep Release)
|
|
|
|
if [ -z "$str" ]
|
|
then
|
|
Build
|
|
echo ""
|
|
echo " Copying essential files..."
|
|
echo ""
|
|
cp ./TicketOffice/wwwroot/ ./TicketOffice/bin/Release/net6.0/ -r
|
|
echo ""
|
|
echo " Files copied."
|
|
echo ""
|
|
RenewDatabase
|
|
Start
|
|
else
|
|
Start
|
|
fi
|
|
}
|
|
|
|
if [ $# = 0 ]
|
|
then
|
|
RunScript
|
|
elif [ $1 = "--renew" ]
|
|
then
|
|
RenewDatabase
|
|
Start
|
|
exit 0
|
|
elif [ $1 = "--rebuild" ]
|
|
then
|
|
echo ""
|
|
echo " Deleting compiled project..."
|
|
echo ""
|
|
rm -Rf ./TicketOffice/bin/Release
|
|
echo ""
|
|
echo " Deletion complete."
|
|
echo ""
|
|
Build
|
|
Start
|
|
exit 0
|
|
elif [ $1 = "--help" ]
|
|
then
|
|
echo ""
|
|
echo " Available options:"
|
|
echo " --renew renew the database"
|
|
echo " --rebuild rebuild the project"
|
|
echo ""
|
|
exit 0
|
|
elif [ -n "$1" ]
|
|
then
|
|
echo "$0: unrecognized option '$1'"
|
|
echo "Try '$0 --help' for more information."
|
|
exit 0
|
|
fi
|