#!/bin/bash echo "=== RustyTorch++ Crate Compilation Status ===" echo "Date: $(date)" echo "" # Initialize counters compiling=0 failing=0 # Arrays to store results declare -a compiling_crates=() declare -a failing_crates=() # Function to check a crate check_crate() { local path=$1 local name=$2 if [ ! -d "$path" ]; then echo "$name: ❌ Directory not found" failing_crates+=("$name (not found)") ((failing++)) return fi # Use timeout to prevent hanging if timeout 5 bash -c "cd $path && cargo check --quiet 2>/dev/null"; then echo "$name: ✅" compiling_crates+=("$name") ((compiling++)) else echo "$name: ❌" failing_crates+=("$name") ((failing++)) fi } echo "## Core Crates" check_crate "crates/core/rtx-tensor" "rtx-tensor" check_crate "crates/core/rtx-runtime" "rtx-runtime" check_crate "crates/core/rtx-autograd" "rtx-autograd" check_crate "crates/core/rtx-memory" "rtx-memory" check_crate "crates/core/rtx-kernel" "rtx-kernel" check_crate "crates/core/rtx-bindings" "rtx-bindings" check_crate "crates/core/rtx-graph" "rtx-graph" check_crate "crates/core/rtx-validation" "rtx-validation" check_crate "crates/core/rtx-losses" "rtx-losses" check_crate "crates/core/rtx-tokenization" "rtx-tokenization" check_crate "crates/core/rtx-nn" "rtx-nn" echo "" echo "## Training Crates" check_crate "crates/training/rtx-transformers" "rtx-transformers" check_crate "crates/training/rtx-distributed" "rtx-distributed" check_crate "crates/training/rtx-rl" "rtx-rl" check_crate "crates/training/rtx-compress" "rtx-compress" check_crate "crates/training/rtx-flash-attention" "rtx-flash-attention" check_crate "crates/training/rtx-preprocessing" "rtx-preprocessing" check_crate "crates/training/rtx-auto" "rtx-auto" check_crate "crates/training/rtx-automeasure" "rtx-automeasure" check_crate "crates/training/rtx-evolution" "rtx-evolution" check_crate "crates/training/rtx-federated" "rtx-federated" check_crate "crates/training/rtx-model-merging" "rtx-model-merging" echo "" echo "## Model Crates" check_crate "crates/models/rtx-vision" "rtx-vision" check_crate "crates/models/rtx-vision-advanced" "rtx-vision-advanced" check_crate "crates/models/rtx-multimodal" "rtx-multimodal" check_crate "crates/models/rtx-diffuse" "rtx-diffuse" check_crate "crates/models/rtx-timeseries" "rtx-timeseries" check_crate "crates/models/rtx-nlg" "rtx-nlg" check_crate "crates/models/rtx-llm-tools" "rtx-llm-tools" echo "" echo "## Production Crates" check_crate "crates/production/rtx-serving-api" "rtx-serving-api" check_crate "crates/production/rtx-inference" "rtx-inference" check_crate "crates/production/rtx-streaming" "rtx-streaming" check_crate "crates/production/rtx-hub" "rtx-hub" check_crate "crates/production/rtx-config" "rtx-config" check_crate "crates/production/rtx-monitoring" "rtx-monitoring" echo "" echo "## Specialized Crates" check_crate "crates/specialized/rtx-synthesis" "rtx-synthesis" check_crate "crates/specialized/rtx-compiler" "rtx-compiler" check_crate "crates/specialized/rtx-geom" "rtx-geom" check_crate "crates/specialized/rtx-polygraph" "rtx-polygraph" check_crate "crates/specialized/rtx-sklearn-py" "rtx-sklearn-py" check_crate "crates/specialized/rtx-ml-classic" "rtx-ml-classic" check_crate "crates/specialized/rtx-platform" "rtx-platform" check_crate "crates/specialized/rtx-science" "rtx-science" check_crate "crates/specialized/rtx-nmf" "rtx-nmf" check_crate "crates/specialized/rtx-fea" "rtx-fea" check_crate "crates/specialized/rtx-cfd" "rtx-cfd" echo "" echo "## Tooling Crates" check_crate "crates/tooling/rtx-eval" "rtx-eval" check_crate "crates/tooling/rtx-bench" "rtx-bench" echo "" echo "## Data Crates" check_crate "crates/data/rtx-feature-store" "rtx-feature-store" check_crate "crates/data/rtx-data-validation" "rtx-data-validation" check_crate "crates/data/rtx-etl" "rtx-etl" echo "" echo "## Meta Crates" check_crate "crates/meta/rtx" "rtx" check_crate "crates/meta/rtx-core" "rtx-core" check_crate "crates/meta/rtx-training" "rtx-training" check_crate "crates/meta/rtx-inference-stack" "rtx-inference-stack" echo "" echo "## Integration Tests" check_crate "integration_tests" "rustytorch-integration-tests" echo "" echo "===================================" echo "SUMMARY" echo "===================================" echo "Total Crates Checked: $((compiling + failing))" echo "✅ Compiling: $compiling" echo "❌ Failing: $failing" echo "" echo "COMPILING CRATES:" printf '%s\n' "${compiling_crates[@]}" | sort echo "" echo "FAILING CRATES:" printf '%s\n' "${failing_crates[@]}" | sort