Files
rustytorch/scripts/migration/migrate-crates.sh
T
2026-03-04 00:08:42 +00:00

140 lines
4.5 KiB
Bash
Executable File

#!/bin/bash
set -e
echo "🚀 RTX Workspace Migration - Physical Crate Movement"
echo "=================================================="
# Crate categorization based on dependency analysis
declare -A CRATE_CATEGORIES
# Core infrastructure (8 crates)
CRATE_CATEGORIES["rtx-tensor"]="core"
CRATE_CATEGORIES["rtx-runtime"]="core"
CRATE_CATEGORIES["rtx-autograd"]="core"
CRATE_CATEGORIES["rtx-memory"]="core"
CRATE_CATEGORIES["rtx-kernel"]="core"
CRATE_CATEGORIES["rtx-bindings"]="core"
CRATE_CATEGORIES["rtx-graph"]="core"
CRATE_CATEGORIES["rtx-validation"]="core"
CRATE_CATEGORIES["rtx-losses"]="core"
# Training & optimization (10 crates)
CRATE_CATEGORIES["rtx-transformers"]="training"
CRATE_CATEGORIES["rtx-distributed"]="training"
CRATE_CATEGORIES["rtx-rl"]="training"
CRATE_CATEGORIES["rtx-compress"]="training"
CRATE_CATEGORIES["rtx-flash-attention"]="training"
CRATE_CATEGORIES["rtx-preprocessing"]="training"
CRATE_CATEGORIES["rtx-auto"]="training"
CRATE_CATEGORIES["rtx-automeasure"]="training"
CRATE_CATEGORIES["rtx-evolution"]="training"
CRATE_CATEGORIES["rtx-federated"]="training"
# Model architectures (7 crates)
CRATE_CATEGORIES["rtx-vision"]="models"
CRATE_CATEGORIES["rtx-vision-advanced"]="models"
CRATE_CATEGORIES["rtx-multimodal"]="models"
CRATE_CATEGORIES["rtx-diffuse"]="models"
CRATE_CATEGORIES["rtx-timeseries"]="models"
CRATE_CATEGORIES["rtx-neuromorphic"]="models"
CRATE_CATEGORIES["rtx-nlg"]="models"
# Production & deployment (9 crates)
CRATE_CATEGORIES["rtx-serving-api"]="production"
CRATE_CATEGORIES["rtx-inference"]="production"
CRATE_CATEGORIES["rtx-streaming"]="production"
CRATE_CATEGORIES["rtx-mlops-orchestrator"]="production"
CRATE_CATEGORIES["rtx-edge"]="production"
CRATE_CATEGORIES["rtx-security"]="production"
CRATE_CATEGORIES["rtx-robust"]="production"
CRATE_CATEGORIES["rtx-cloud"]="production"
CRATE_CATEGORIES["rtx-hub"]="production"
# Specialized computing (10 crates)
CRATE_CATEGORIES["rtx-quantum"]="specialized"
CRATE_CATEGORIES["rtx-synthesis"]="specialized"
CRATE_CATEGORIES["rtx-compiler"]="specialized"
CRATE_CATEGORIES["rtx-geom"]="specialized"
CRATE_CATEGORIES["rtx-polygraph"]="specialized"
CRATE_CATEGORIES["rtx-sklearn-py"]="specialized"
CRATE_CATEGORIES["rtx-ml-classic"]="specialized"
CRATE_CATEGORIES["rtx-platform"]="specialized"
CRATE_CATEGORIES["rtx-hardware-extended"]="specialized"
CRATE_CATEGORIES["rtx-science"]="specialized"
# Development & tooling (12 crates)
CRATE_CATEGORIES["rtx-bench"]="tooling"
CRATE_CATEGORIES["rtx-profiler"]="tooling"
CRATE_CATEGORIES["rtx-governance"]="tooling"
CRATE_CATEGORIES["rtx-privacy"]="tooling"
CRATE_CATEGORIES["rtx-eval"]="tooling"
CRATE_CATEGORIES["rtx-docs"]="tooling"
CRATE_CATEGORIES["rtx-examples"]="tooling"
CRATE_CATEGORIES["rtx-debug"]="tooling"
CRATE_CATEGORIES["rtx-codegen"]="tooling"
CRATE_CATEGORIES["rtx-finance"]="tooling"
CRATE_CATEGORIES["rtx-audio"]="tooling"
CRATE_CATEGORIES["rtx-games"]="tooling"
migrate_crate() {
local crate_name=$1
local category=${CRATE_CATEGORIES[$crate_name]}
if [ -z "$category" ]; then
echo "❌ Unknown category for $crate_name - skipping"
return 1
fi
echo "📦 Migrating $crate_name to crates/$category/"
# Ensure category directory exists
mkdir -p "crates/$category"
# Move crate directory from crates/ to new location
if [ -d "crates/$crate_name" ]; then
mv "crates/$crate_name" "crates/$category/"
echo " ✅ Moved $crate_name to crates/$category/"
else
echo " ⚠️ Directory crates/$crate_name not found - may already be moved"
fi
}
# Count total crates
total_crates=0
moved_crates=0
echo "📊 Starting Migration:"
echo "===================="
# Migrate all crates
for crate_dir in crates/rtx-*/; do
if [ -d "$crate_dir" ]; then
crate_name=$(basename "$crate_dir")
total_crates=$((total_crates + 1))
if migrate_crate "$crate_name"; then
moved_crates=$((moved_crates + 1))
fi
fi
done
echo ""
echo "✅ Physical crate migration complete!"
echo "📊 Summary:"
echo " Total crates found: $total_crates"
echo " Successfully moved: $moved_crates"
echo ""
echo "📁 New structure:"
for category in core training models production specialized tooling; do
if [ -d "crates/$category" ]; then
count=$(ls -1d crates/$category/rtx-* 2>/dev/null | wc -l)
echo " $category: $count crates"
fi
done
echo ""
echo "🔧 Next steps:"
echo "1. Update dependency paths in all Cargo.toml files"
echo "2. Update import statements in source code"
echo "3. Test compilation"