
## Summary Comprehensive repository cleanup focusing on plugin dependency management, documentation improvements, and git tracking optimization. ## Key Changes ### 🔧 Core Infrastructure - Synchronized all nu-* dependencies across plugins for version consistency - Enhanced upstream tracking and automation systems - Removed nushell directory from git tracking for cleaner repository management ### 📚 Documentation - Significantly expanded README.md with comprehensive development guides - Added detailed workflow documentation and command references - Improved plugin collection overview and usage examples ### 🧹 Repository Cleanup - Removed legacy bash scripts (build-all.sh, collect-install.sh, make_plugin.sh) - Streamlined automation through unified justfile and nushell script approach - Updated .gitignore with nushell directory and archive patterns - Removed nushell directory from git tracking to prevent unwanted changes ### 🔌 Plugin Updates - **nu_plugin_image**: Major refactoring with modular architecture improvements - **nu_plugin_hashes**: Enhanced functionality and build system improvements - **nu_plugin_highlight**: Updated for new plugin API compatibility - **nu_plugin_clipboard**: Dependency synchronization - **nu_plugin_desktop_notifications**: Version alignment - **nu_plugin_port_extension & nu_plugin_qr_maker**: Consistency updates - **nu_plugin_kcl & nu_plugin_tera**: Submodule synchronization ### 🏗️ Git Tracking Optimization - Removed nushell directory from version control for cleaner repository management - Added comprehensive .gitignore patterns for build artifacts and archives ## Statistics - 2,082 files changed - 2,373 insertions, 339,936 deletions - Net reduction of 337,563 lines (primarily from removing nushell directory tracking) ## Benefits - Complete version consistency across all plugins - Cleaner repository with optimized git tracking - Improved developer experience with streamlined workflows - Enhanced documentation and automation - Reduced repository size and complexity 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
251 lines
7.9 KiB
Plaintext
251 lines
7.9 KiB
Plaintext
# Distribution Module - Collection and Packaging
|
|
# Commands for collecting built plugins and creating distribution packages
|
|
|
|
# 📦 COLLECTION COMMANDS
|
|
|
|
# Collect built plugins for distribution
|
|
[no-cd]
|
|
collect:
|
|
@echo "📦 Collecting plugins for distribution..."
|
|
@{{justfile_directory()}}/scripts/run.sh collect_install.nu --force
|
|
|
|
# List available built plugins
|
|
[no-cd]
|
|
collect-list:
|
|
@echo "📋 Available built plugins:"
|
|
@{{justfile_directory()}}/scripts/run.sh collect_install.nu --list
|
|
|
|
# List available platforms for collection
|
|
[no-cd]
|
|
collect-platforms:
|
|
@echo "📊 Available platforms for collection:"
|
|
@{{justfile_directory()}}/scripts/run.sh collect_install.nu --list-platforms
|
|
|
|
# Collect specific platform
|
|
[no-cd]
|
|
collect-platform PLATFORM:
|
|
@echo "📦 Collecting {{PLATFORM}} plugins..."
|
|
@{{justfile_directory()}}/scripts/run.sh collect_install.nu --platform {{PLATFORM}}
|
|
|
|
# Collect all available platforms
|
|
[no-cd]
|
|
collect-all:
|
|
@echo "🌍 Collecting all platforms..."
|
|
@{{justfile_directory()}}/scripts/run.sh collect_install.nu --all-platforms
|
|
|
|
# Force collection (overwrite existing)
|
|
[no-cd]
|
|
collect-force:
|
|
@echo "📦 Force collecting plugins..."
|
|
@{{justfile_directory()}}/scripts/run.sh collect_install.nu --force
|
|
|
|
# 📋 PACKAGING COMMANDS
|
|
|
|
# Create distribution package
|
|
[no-cd]
|
|
pack:
|
|
@echo "📦 Creating distribution package..."
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --force
|
|
|
|
# Show what would be packaged
|
|
[no-cd]
|
|
pack-list:
|
|
@echo "📋 Files that would be packaged:"
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --list
|
|
|
|
# List available platforms for packaging
|
|
[no-cd]
|
|
pack-platforms:
|
|
@echo "📊 Available platforms for packaging:"
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --list-platforms
|
|
|
|
# Package specific platform
|
|
[no-cd]
|
|
pack-platform PLATFORM:
|
|
@echo "📦 Packaging {{PLATFORM}}..."
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --platform {{PLATFORM}}
|
|
|
|
# Package all platforms
|
|
[no-cd]
|
|
pack-all:
|
|
@echo "🌍 Packaging all platforms..."
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --all-platforms
|
|
|
|
# Package with checksums
|
|
[no-cd]
|
|
pack-checksums:
|
|
@echo "🔐 Packaging with checksums..."
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --all-platforms --checksums
|
|
|
|
# Force packaging (overwrite existing)
|
|
[no-cd]
|
|
pack-force:
|
|
@echo "📦 Force packaging..."
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --force
|
|
|
|
# Package to custom output directory
|
|
[no-cd]
|
|
pack-output OUTPUT:
|
|
@echo "📦 Packaging to {{OUTPUT}}..."
|
|
@{{justfile_directory()}}/scripts/run.sh pack_dist.nu --output {{OUTPUT}}
|
|
|
|
# 🚀 RELEASE WORKFLOWS
|
|
|
|
# Complete cross-platform build and package workflow
|
|
[no-cd]
|
|
release-cross:
|
|
@echo "🚀 Complete cross-platform release workflow..."
|
|
@just validate-nushell
|
|
@just build-cross-all
|
|
@just collect-all
|
|
@just pack-checksums
|
|
|
|
# Quick release for current platform
|
|
[no-cd]
|
|
release-quick:
|
|
@echo "🚀 Quick release for current platform..."
|
|
@just validate-nushell
|
|
@just build
|
|
@just collect
|
|
@just pack
|
|
|
|
# Release with custom target
|
|
[no-cd]
|
|
release-target TARGET:
|
|
@echo "🚀 Release for {{TARGET}}..."
|
|
@just validate-nushell
|
|
@just build-cross {{TARGET}}
|
|
@just collect-platform {{TARGET}}
|
|
@just pack-platform {{TARGET}}
|
|
|
|
# 📂 DIRECTORY MANAGEMENT
|
|
|
|
# Show distribution directory contents
|
|
[no-cd]
|
|
distro-show:
|
|
@echo "📂 Distribution directory contents:"
|
|
@if [ -d "distribution" ]; then \
|
|
find distribution -type f -exec ls -lh {} \; | head -20; \
|
|
else \
|
|
echo "No distribution directory found"; \
|
|
fi
|
|
|
|
# Show archive directory contents
|
|
[no-cd]
|
|
distro-archives:
|
|
@echo "📂 Archive directory contents:"
|
|
@if [ -d "bin_archives" ]; then \
|
|
ls -lh bin_archives/; \
|
|
else \
|
|
echo "No bin_archives directory found"; \
|
|
fi
|
|
|
|
# Clean distribution directories
|
|
[no-cd]
|
|
distro-clean:
|
|
@echo "🧹 Cleaning distribution directories..."
|
|
@rm -rf distribution bin_archives
|
|
@echo "✅ Cleaned distribution and bin_archives directories"
|
|
|
|
# Archive size statistics
|
|
[no-cd]
|
|
distro-stats:
|
|
@echo "📊 Distribution Statistics:"
|
|
@if [ -d "bin_archives" ]; then \
|
|
echo "Archive sizes:"; \
|
|
du -h bin_archives/* 2>/dev/null | sort -h || echo "No archives found"; \
|
|
echo ""; \
|
|
echo "Total archive size:"; \
|
|
du -sh bin_archives 2>/dev/null || echo "No archives directory"; \
|
|
else \
|
|
echo "No bin_archives directory found"; \
|
|
fi
|
|
|
|
# 🔍 VERIFICATION COMMANDS
|
|
|
|
# Verify checksums
|
|
[no-cd]
|
|
distro-verify:
|
|
@echo "🔍 Verifying checksums..."
|
|
@if [ -f "bin_archives/checksums.txt" ]; then \
|
|
cd bin_archives && sha256sum -c checksums.txt; \
|
|
else \
|
|
echo "No checksums file found"; \
|
|
fi
|
|
|
|
# Test archive contents
|
|
[no-cd]
|
|
distro-test ARCHIVE:
|
|
@echo "🔍 Testing archive contents: {{ARCHIVE}}"
|
|
@if [ -f "bin_archives/{{ARCHIVE}}" ]; then \
|
|
case "{{ARCHIVE}}" in \
|
|
*.tar.gz) tar -tzf "bin_archives/{{ARCHIVE}}" ;; \
|
|
*.zip) unzip -l "bin_archives/{{ARCHIVE}}" ;; \
|
|
*) echo "Unsupported archive format" ;; \
|
|
esac; \
|
|
else \
|
|
echo "Archive not found: bin_archives/{{ARCHIVE}}"; \
|
|
fi
|
|
|
|
# Test all archives
|
|
[no-cd]
|
|
distro-test-all:
|
|
@echo "🔍 Testing all archives..."
|
|
@for archive in bin_archives/*.tar.gz bin_archives/*.zip; do \
|
|
if [ -f "$$archive" ]; then \
|
|
echo "Testing $$(basename "$$archive")..."; \
|
|
case "$$archive" in \
|
|
*.tar.gz) tar -tzf "$$archive" >/dev/null && echo "✅ OK" || echo "❌ FAILED" ;; \
|
|
*.zip) unzip -t "$$archive" >/dev/null && echo "✅ OK" || echo "❌ FAILED" ;; \
|
|
esac; \
|
|
fi; \
|
|
done
|
|
|
|
# 📊 DISTRIBUTION INFORMATION
|
|
|
|
# Show distribution help
|
|
[no-cd]
|
|
distro-help:
|
|
@echo "📦 Distribution Module Help"
|
|
@echo "=========================="
|
|
@echo ""
|
|
@echo "COLLECTION:"
|
|
@echo " collect - Collect plugins for distribution"
|
|
@echo " collect-list - List available built plugins"
|
|
@echo " collect-platforms - List available platforms"
|
|
@echo " collect-platform PLATFORM - Collect specific platform"
|
|
@echo " collect-all - Collect all platforms"
|
|
@echo " collect-force - Force collection (overwrite)"
|
|
@echo ""
|
|
@echo "PACKAGING:"
|
|
@echo " pack - Create distribution package"
|
|
@echo " pack-list - Show what would be packaged"
|
|
@echo " pack-platforms - List packaging platforms"
|
|
@echo " pack-platform PLATFORM - Package specific platform"
|
|
@echo " pack-all - Package all platforms"
|
|
@echo " pack-checksums - Package with checksums"
|
|
@echo " pack-force - Force packaging"
|
|
@echo " pack-output OUTPUT - Package to custom directory"
|
|
@echo ""
|
|
@echo "RELEASE WORKFLOWS:"
|
|
@echo " release-cross - Complete cross-platform release"
|
|
@echo " release-quick - Quick release for current platform"
|
|
@echo " release-target TARGET - Release for specific target"
|
|
@echo ""
|
|
@echo "DIRECTORY MANAGEMENT:"
|
|
@echo " distro-show - Show distribution contents"
|
|
@echo " distro-archives - Show archive contents"
|
|
@echo " distro-clean - Clean distribution directories"
|
|
@echo " distro-stats - Show distribution statistics"
|
|
@echo ""
|
|
@echo "VERIFICATION:"
|
|
@echo " distro-verify - Verify checksums"
|
|
@echo " distro-test ARCHIVE - Test specific archive"
|
|
@echo " distro-test-all - Test all archives"
|
|
@echo ""
|
|
@echo "EXAMPLES:"
|
|
@echo " just collect-platform linux-amd64"
|
|
@echo " just pack-checksums"
|
|
@echo " just release-cross"
|
|
@echo " just distro-test linux-amd64-nushell-plugins.tar.gz"
|