spacedrive/core/scripts/update_spacedrive.sh
2025-10-18 10:33:20 -07:00

41 lines
1.3 KiB
Bash

#!/bin/bash
# --- Configuration ---
PROJECT_ROOT="/Users/jamespine/Projects/spacedrive/core"
INSTALL_DIR="/usr/local/bin"
BINARY_NAME="spacedrive"
# --- Script Logic ---
echo "Updating Spacedrive CLI..."
# Navigate to the project root
cd "$PROJECT_ROOT" || { echo "Error: Could not navigate to project root: $PROJECT_ROOT"; exit 1; }
# Pull latest changes from Git
echo "Pulling latest changes from Git..."
git pull || { echo "Error: Git pull failed."; exit 1; }
# Build the project in release mode
echo "Building Spacedrive CLI (release mode)..."
cargo build --release || { echo "Error: Cargo build failed."; exit 1; }
# Define source and destination paths
SOURCE_BINARY="$PROJECT_ROOT/target/release/$BINARY_NAME"
DEST_BINARY="$INSTALL_DIR/$BINARY_NAME"
# Ensure the installation directory exists
mkdir -p "$INSTALL_DIR" || { echo "Error: Could not create installation directory: $INSTALL_DIR"; exit 1; }
# Copy the new binary to the installation directory
echo "Copying new binary to $DEST_BINARY..."
cp "$SOURCE_BINARY" "$DEST_BINARY" || { echo "Error: Could not copy binary to $DEST_BINARY. Check permissions."; exit 1; }
echo "Spacedrive CLI updated successfully!"
# Optional: Display the version of the newly installed binary
if [ -x "$DEST_BINARY" ]; then
echo "Installed version:"
"$DEST_BINARY" --version
fi