#!/bin/bash # Nushell 0.108.0 Complete Update Script # Direct runner - bypasses justfile sandbox limitations # Usage: ./complete-update.sh 0.108.0 set -e if [ -z "$1" ]; then echo "❌ Error: VERSION parameter required" echo "Usage: ./complete-update.sh 0.108.0" exit 1 fi VERSION="$1" SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)/scripts" NU_BIN="$(which nu)" echo "🚀 Complete Nushell Update (ALL-IN-ONE)" echo "Version: $VERSION" echo "" echo "Step 1/7: Downloading Nushell source..." "$NU_BIN" "$SCRIPT_DIR/download_nushell.nu" "$VERSION" echo "" echo "Step 2/7: Analyzing features..." "$NU_BIN" "$SCRIPT_DIR/analyze_nushell_features.nu" --validate echo "" echo "Step 3/7: Building Nushell..." cd nushell cargo build --release --workspace --features "mcp,plugin,sqlite,trash-support,system-clipboard,rustls-tls" cd .. echo "" echo "Step 4/7: Updating plugins..." "$NU_BIN" "$SCRIPT_DIR/update_all_plugins.nu" "$VERSION" echo "" echo "Step 5/7: Building plugins..." for plugin in nu_plugin_*; do if [ -d "$plugin" ]; then echo " Building $plugin..." (cd "$plugin" && cargo build --release) fi done echo "" echo "Step 6/7: Creating distributions..." "$NU_BIN" "$SCRIPT_DIR/create_full_distribution.nu" echo "" echo "Step 7/7: Validating..." "$NU_BIN" "$SCRIPT_DIR/update_all_plugins.nu" check echo "" echo "✅ Complete Nushell Update Finished!" echo "" echo "Next steps:" echo " 1. Review the builds in nushell/target/release/" echo " 2. Check distribution packages in distribution/packages/" echo " 3. Commit changes: git add -A && git commit -m 'chore: update to Nushell $VERSION'"