51 lines
1.7 KiB
Bash
51 lines
1.7 KiB
Bash
#!/bin/bash
|
|
|
|
# Script to generate code coverage reports using Docker
|
|
|
|
echo "================================================================================"
|
|
echo "Generating Code Coverage Reports"
|
|
echo "================================================================================"
|
|
echo ""
|
|
|
|
# Clean previous reports
|
|
if [ -d "target/site/jacoco" ]; then
|
|
echo "Cleaning previous coverage reports..."
|
|
rm -rf target/site/jacoco
|
|
echo ""
|
|
fi
|
|
|
|
# Run tests with coverage
|
|
docker-compose -f docker-compose.coverage.yml up --build
|
|
|
|
echo ""
|
|
echo "================================================================================"
|
|
echo "Coverage Report Generated"
|
|
echo "================================================================================"
|
|
echo ""
|
|
echo "HTML Report: target/site/jacoco/index.html"
|
|
echo "XML Report: target/site/jacoco/jacoco.xml"
|
|
echo "CSV Report: target/site/jacoco/jacoco.csv"
|
|
echo ""
|
|
echo "Open the HTML report in your browser to view coverage details."
|
|
echo ""
|
|
|
|
# Clean up the coverage container
|
|
docker-compose -f docker-compose.coverage.yml down
|
|
|
|
# Ask user if they want to open the report (for systems with xdg-open)
|
|
read -p "Would you like to open the coverage report now? (y/n): " OPEN_REPORT
|
|
if [ "$OPEN_REPORT" = "y" ] || [ "$OPEN_REPORT" = "Y" ]; then
|
|
if [ -f "target/site/jacoco/index.html" ]; then
|
|
# Try to open with default browser
|
|
if command -v xdg-open > /dev/null; then
|
|
xdg-open target/site/jacoco/index.html
|
|
elif command -v open > /dev/null; then
|
|
open target/site/jacoco/index.html
|
|
else
|
|
echo "Please open target/site/jacoco/index.html manually in your browser."
|
|
fi
|
|
else
|
|
echo "Error: Coverage report not found!"
|
|
fi
|
|
fi
|