forked from eatvio/eatvio_app
74 lines
1.9 KiB
Bash
Executable File
74 lines
1.9 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Script to remove generated files from coverage/lcov.info
|
|
# Generated files include: .g.dart, .freezed.dart, .mocks.dart
|
|
#
|
|
# Usage:
|
|
# ./scripts/remove_generated_from_coverage.sh
|
|
#
|
|
# This script:
|
|
# 1. Creates a backup of the original coverage file
|
|
# 2. Removes all entries for generated files (.g.dart, .freezed.dart, .mocks.dart)
|
|
# 3. Saves the cleaned file back to coverage/lcov.info
|
|
|
|
set -e # Exit on error
|
|
|
|
COVERAGE_FILE="coverage/lcov.info"
|
|
BACKUP_FILE="coverage/lcov.info.backup"
|
|
|
|
# Get the script directory and project root
|
|
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
|
PROJECT_ROOT="$(cd "$SCRIPT_DIR/.." && pwd)"
|
|
|
|
cd "$PROJECT_ROOT"
|
|
|
|
# Check if coverage file exists
|
|
if [ ! -f "$COVERAGE_FILE" ]; then
|
|
echo "Error: $COVERAGE_FILE not found"
|
|
echo "Please run 'flutter test --coverage' first to generate the coverage file"
|
|
exit 1
|
|
fi
|
|
|
|
# Create backup
|
|
cp "$COVERAGE_FILE" "$BACKUP_FILE"
|
|
echo "Backup created: $BACKUP_FILE"
|
|
|
|
# Remove entries for generated files
|
|
# This uses awk to process the lcov.info file
|
|
# It skips entries that start with SF: and contain .g.dart, .freezed.dart, or .mocks.dart
|
|
|
|
awk '
|
|
BEGIN {
|
|
skip_entry = 0
|
|
}
|
|
/^SF:/ {
|
|
# Check if this is a generated file
|
|
# Matches: .g.dart, .freezed.dart, .mocks.dart
|
|
if ($0 ~ /\.(g|freezed|mocks)\.dart$/) {
|
|
skip_entry = 1
|
|
} else {
|
|
skip_entry = 0
|
|
}
|
|
}
|
|
{
|
|
if (!skip_entry) {
|
|
print
|
|
}
|
|
}
|
|
/^end_of_record$/ {
|
|
skip_entry = 0
|
|
}
|
|
' "$BACKUP_FILE" > "$COVERAGE_FILE.tmp"
|
|
|
|
# Replace original file with cleaned version
|
|
mv "$COVERAGE_FILE.tmp" "$COVERAGE_FILE"
|
|
|
|
# Count removed entries
|
|
REMOVED=$(grep -c "^SF:.*\.\(g\|freezed\|mocks\)\.dart$" "$BACKUP_FILE" 2>/dev/null || echo "0")
|
|
echo "Removed $REMOVED generated file entries from coverage/lcov.info"
|
|
echo "Cleaned file saved to: $COVERAGE_FILE"
|
|
echo ""
|
|
echo "To restore the original file, run:"
|
|
echo " cp $BACKUP_FILE $COVERAGE_FILE"
|
|
|