53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			53 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
 | 
						|
# Ensure correct local path.
 | 
						|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
 | 
						|
cd "$SCRIPT_DIR"
 | 
						|
 | 
						|
# Add dotnet non-admin-install to path
 | 
						|
export PATH="$SCRIPT_DIR/.dotnet:~/.dotnet:$PATH"
 | 
						|
 | 
						|
export DOTNET_CLI_TELEMETRY_OPTOUT=1
 | 
						|
export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
 | 
						|
 | 
						|
# Server settings option
 | 
						|
if [ -f ./src/bin/always_pull ]; then
 | 
						|
    echo "Pulling latest changes..."
 | 
						|
    git pull
 | 
						|
fi
 | 
						|
 | 
						|
if [ -f ./src/bin/must_rebuild ]; then
 | 
						|
    echo "Rebuilding..."
 | 
						|
    rm -rf ./src/bin/live_release_backup
 | 
						|
    mv ./src/bin/live_release ./src/bin/live_release_backup
 | 
						|
    rm ./src/bin/must_rebuild
 | 
						|
elif [ -d .git ]; then
 | 
						|
    cur_head=`git rev-parse HEAD`
 | 
						|
    built_head=`cat src/bin/last_build`
 | 
						|
    if [ "$cur_head" != "$built_head" ]; then
 | 
						|
        printf "\n\nWARNING: You did a git pull without building. Will now build for you...\n\n"
 | 
						|
        rm -rf ./src/bin/live_release_backup
 | 
						|
        mv ./src/bin/live_release ./src/bin/live_release_backup
 | 
						|
    fi
 | 
						|
else
 | 
						|
    printf "\n\nWARNING: YOU DID NOT CLONE FROM GIT. THIS WILL BREAK SOME SYSTEMS. PLEASE INSTALL PER THE README.\n\n"
 | 
						|
fi
 | 
						|
 | 
						|
# Build the program if it isn't already built
 | 
						|
if [ ! -f src/bin/live_release/SwarmUI.dll ]; then
 | 
						|
    dotnet build src/SwarmUI.csproj --configuration Release -o ./src/bin/live_release
 | 
						|
    cur_head=`git rev-parse HEAD`
 | 
						|
    echo $cur_head > src/bin/last_build
 | 
						|
fi
 | 
						|
 | 
						|
# Default env configuration, gets overwritten by the C# code's settings handler
 | 
						|
export ASPNETCORE_ENVIRONMENT="Production"
 | 
						|
export ASPNETCORE_URLS="http://*:7801"
 | 
						|
# Actual runner.
 | 
						|
dotnet src/bin/live_release/SwarmUI.dll $@
 | 
						|
 | 
						|
# Exit code 42 means restart, anything else = don't.
 | 
						|
if [ $? == 42 ]; then
 | 
						|
    . ./launch-linux.sh $@
 | 
						|
fi
 |