64 lines
1.6 KiB
Bash
64 lines
1.6 KiB
Bash
|
|
#!/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'"
|