48 lines
1.3 KiB
Bash
Executable File
48 lines
1.3 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "=== RustyTorch++ Comprehensive Compilation Check ==="
|
|
echo "Date: $(date)"
|
|
echo ""
|
|
|
|
# Arrays to track status
|
|
declare -a compiling_crates=()
|
|
declare -a failing_crates=()
|
|
|
|
# Get all crates from cargo metadata
|
|
crates=$(cargo metadata --format-version 1 --no-deps 2>/dev/null | jq -r '.packages[].name' | sort)
|
|
|
|
# Check each crate
|
|
for crate in $crates; do
|
|
echo -n "Checking $crate... "
|
|
|
|
# Find the crate directory
|
|
crate_dir=$(cargo metadata --format-version 1 --no-deps 2>/dev/null | jq -r ".packages[] | select(.name == \"$crate\") | .manifest_path" | xargs dirname)
|
|
|
|
if [ -z "$crate_dir" ]; then
|
|
echo "❌ Cannot find crate directory"
|
|
failing_crates+=("$crate (not found)")
|
|
continue
|
|
fi
|
|
|
|
# Try to compile the crate
|
|
if cd "$crate_dir" && cargo check --quiet 2>/dev/null; then
|
|
echo "✅ COMPILES"
|
|
compiling_crates+=("$crate")
|
|
else
|
|
echo "❌ FAILS"
|
|
failing_crates+=("$crate")
|
|
fi
|
|
done
|
|
|
|
echo ""
|
|
echo "=== Summary ==="
|
|
echo "Total crates: $(echo "$crates" | wc -l)"
|
|
echo "Compiling: ${#compiling_crates[@]}"
|
|
echo "Failing: ${#failing_crates[@]}"
|
|
echo ""
|
|
echo "=== Compiling Crates ==="
|
|
printf '%s\n' "${compiling_crates[@]}"
|
|
echo ""
|
|
echo "=== Failing Crates ==="
|
|
printf '%s\n' "${failing_crates[@]}"
|