Foxnouns.NET/build.sh
2025-02-24 18:25:49 +01:00

36 lines
957 B
Bash
Executable file

#!/usr/bin/env bash
set -euxo pipefail
ROOT_DIR=$(pwd)
echo "Cleaning output directory ($ROOT_DIR/build)"
[ -d "$ROOT_DIR/build" ] && rm -r "$ROOT_DIR/build"
mkdir "$ROOT_DIR/build"
echo "Building .NET backend"
cd "$ROOT_DIR/Foxnouns.Backend"
[ -d "$ROOT_DIR/Foxnouns.Backend/out" ] && rm -r "$ROOT_DIR/Foxnouns.Backend/out"
dotnet publish --artifacts-path "$ROOT_DIR/Foxnouns.Backend/out"
mv "$ROOT_DIR/Foxnouns.Backend/out/publish/Foxnouns.Backend/"* "$ROOT_DIR/build/bin"
echo "Building Go rate limiter"
cd "$ROOT_DIR/Foxnouns.RateLimiter"
go build -o rate -v .
mv rate "$ROOT_DIR/build/rate"
echo "Building Node.js frontend"
cd "$ROOT_DIR/Foxnouns.Frontend"
[ -d "$ROOT_DIR/Foxnouns.Frontend/build" ] && rm -r "$ROOT_DIR/Foxnouns.Frontend/build"
pnpm install
pnpm build
mkdir "$ROOT_DIR/build/fe"
cp -r build .env* package.json pnpm-lock.yaml "$ROOT_DIR/build/fe"
cd "$ROOT_DIR/build/fe"
pnpm install -P
echo "Finished building Foxnouns.NET"