Files
amethyst/.claude/skills/gradle-expert/scripts/analyze-build-time.sh
T
2025-12-30 15:45:02 +02:00

46 lines
1.4 KiB
Bash

#!/bin/bash
# Analyze Gradle build performance and generate report
set -e
PROJECT_ROOT="${1:-.}"
cd "$PROJECT_ROOT"
echo "🔍 Analyzing Gradle build performance..."
echo "========================================"
echo ""
# Clean build for accurate timing
echo "Running clean build with --profile..."
./gradlew clean build --profile --scan
# Find the latest profile report
PROFILE_REPORT=$(find build/reports/profile -name "*.html" -type f -printf '%T@ %p\n' | sort -n | tail -1 | cut -f2- -d" ")
if [ -n "$PROFILE_REPORT" ]; then
echo ""
echo "✅ Profile report generated: $PROFILE_REPORT"
echo ""
echo "📊 Build Performance Summary:"
echo "----------------------------"
# Extract key metrics if available
if command -v jq &> /dev/null && [ -f "build/reports/profile/profile.json" ]; then
jq -r '.buildTime, .taskExecutionTime' build/reports/profile/profile.json
else
echo "Open the HTML report for detailed analysis:"
echo "file://$PWD/$PROFILE_REPORT"
fi
else
echo "⚠️ Profile report not found"
fi
echo ""
echo "💡 Build optimization tips:"
echo "- Enable Gradle daemon: org.gradle.daemon=true"
echo "- Parallel execution: org.gradle.parallel=true"
echo "- Configuration cache: org.gradle.configuration-cache=true"
echo "- Build cache: org.gradle.caching=true"
echo ""
echo "Add these to gradle.properties for faster builds"