feat: move background processes to its own daemon

This commit is contained in:
zhom
2026-01-11 21:01:09 +04:00
parent 6756f88955
commit eeea15c65d
39 changed files with 3466 additions and 948 deletions
+45 -33
View File
@@ -5,13 +5,6 @@ set -e
TARGET="${TARGET:-$(rustc -vV 2>/dev/null | sed -n 's|host: ||p' || echo "unknown")}"
MANIFEST_DIR="$(dirname "$0")"
# Determine binary name based on target
if [[ "$TARGET" == *"windows"* ]]; then
BIN_NAME="donut-proxy.exe"
else
BIN_NAME="donut-proxy"
fi
# Determine source path
HOST_TARGET=$(rustc -vV 2>/dev/null | sed -n 's|host: ||p' || echo "$TARGET")
if [[ "$TARGET" == "$HOST_TARGET" ]] || [[ "$TARGET" == "unknown" ]]; then
@@ -30,40 +23,59 @@ else
fi
fi
SOURCE="$SRC_DIR/$BIN_NAME"
DEST_DIR="$MANIFEST_DIR/binaries"
# Tauri expects the format: donut-proxy-{target} with hyphens
DEST_NAME="donut-proxy-$TARGET"
if [[ "$TARGET" == *"windows"* ]]; then
DEST_NAME="$DEST_NAME.exe"
fi
DEST="$DEST_DIR/$DEST_NAME"
# Create binaries directory if it doesn't exist
mkdir -p "$DEST_DIR"
# Copy the binary if it exists
if [[ -f "$SOURCE" ]]; then
cp "$SOURCE" "$DEST"
echo "Copied $BIN_NAME to $DEST"
else
echo "Warning: Binary not found at $SOURCE"
echo "Building donut-proxy binary..."
cd "$MANIFEST_DIR"
BUILD_ARGS=("build" "--bin" "donut-proxy")
if [[ -n "$PROFILE" ]] && [[ "$PROFILE" == "release" ]]; then
BUILD_ARGS+=("--release")
# Function to copy a binary
copy_binary() {
local BIN_BASE_NAME="$1"
# Determine binary name based on target
if [[ "$TARGET" == *"windows"* ]]; then
BIN_NAME="${BIN_BASE_NAME}.exe"
else
BIN_NAME="$BIN_BASE_NAME"
fi
if [[ -n "$TARGET" ]] && [[ "$TARGET" != "unknown" ]] && [[ "$TARGET" != "$HOST_TARGET" ]]; then
BUILD_ARGS+=("--target" "$TARGET")
SOURCE="$SRC_DIR/$BIN_NAME"
# Tauri expects the format: binary-{target} with hyphens
DEST_NAME="${BIN_BASE_NAME}-$TARGET"
if [[ "$TARGET" == *"windows"* ]]; then
DEST_NAME="$DEST_NAME.exe"
fi
cargo "${BUILD_ARGS[@]}"
DEST="$DEST_DIR/$DEST_NAME"
# Copy the binary if it exists
if [[ -f "$SOURCE" ]]; then
cp "$SOURCE" "$DEST"
echo "Built and copied $BIN_NAME to $DEST"
echo "Copied $BIN_NAME to $DEST"
else
echo "Error: Failed to build donut-proxy binary"
exit 1
echo "Warning: Binary not found at $SOURCE"
echo "Building $BIN_BASE_NAME binary..."
cd "$MANIFEST_DIR"
BUILD_ARGS=("build" "--bin" "$BIN_BASE_NAME")
if [[ -n "$PROFILE" ]] && [[ "$PROFILE" == "release" ]]; then
BUILD_ARGS+=("--release")
fi
if [[ -n "$TARGET" ]] && [[ "$TARGET" != "unknown" ]] && [[ "$TARGET" != "$HOST_TARGET" ]]; then
BUILD_ARGS+=("--target" "$TARGET")
fi
cargo "${BUILD_ARGS[@]}"
if [[ -f "$SOURCE" ]]; then
cp "$SOURCE" "$DEST"
echo "Built and copied $BIN_NAME to $DEST"
else
echo "Error: Failed to build $BIN_BASE_NAME binary"
exit 1
fi
fi
fi
}
# Copy donut-proxy binary
copy_binary "donut-proxy"
# Copy donut-daemon binary
copy_binary "donut-daemon"