36 lines
957 B
Bash
Executable file
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"
|