2023 Toranoana Inc. All Rights Reserved. #!/bin/bash projects=('project1' 'project2' 'project3') # プロジェクト名のリスト # 入力したプロジェクトのC0カバレッジ情報を返す関数 get_coverage() { local file="build/reports/jacoco/test/jacocoTestReport.csv" if [ -f "$1/$file" ]; then local covered=$(awk -F ',' '{ it += $5 } END { print it }' "$1/$file") local instructions=$(awk -F ',' '{ it += $4 + $5 } END { print it }' "$1/$file") echo "$1,$covered,$instructions" else echo "$1,0,0.0001" # レポートファイルが存在しなかった場合 (ゼロ除算対策) fi } # 各プロジェクトのC0カバレッジ情報を算出し、ファイルに出力 for each_project in "${projects[@]}"; do get_coverage "$each_project" >> 'out.csv' done # プロジェクト全体のカバレッジ情報を算出し、ファイルに出力 total_covered=$(awk -F ',' '{ it += $2 } END { print it }' 'out.csv') total_instructions=$(awk -F ',' '{ it += $3 } END { print it }' 'out.csv') echo "TOTAL,$total_covered,$total_instructions" >> 'out.csv'