1212PROGRAM=$1
1313
1414SCRIPT_DIR=" $( cd " $( dirname " ${BASH_SOURCE[0]} " ) " && pwd) "
15+ LOGS_DIR=" $SCRIPT_DIR /build-logs"
16+ mkdir -p " $LOGS_DIR "
1517
1618case $PROGRAM in
1719 pdfbox)
6466cd " $PROJECT_DIR " || exit 1
6567# Measure baseline build time
6668echo " Measuring baseline build time..."
67- BASELINE_TIME=$( { time mvn clean package -DskipTests; } 2>&1 | grep real | awk ' {print $2}' )
69+ echo " ::group::Baseline Build Logs"
70+ BASELINE_OUTPUT=$( { time mvn clean package -DskipTests 2>&1 ; } )
71+ echo " $BASELINE_OUTPUT "
72+ echo " $BASELINE_OUTPUT " > " $LOGS_DIR /${PROGRAM} -baseline-build.log"
73+ echo " ::endgroup::"
74+ BASELINE_TIME=$( echo " $BASELINE_OUTPUT " | grep real | awk ' {print $2}' )
6875
6976cp $PROJECT_DIR /$POM_FILE $PROJECT_DIR /$POM_FILE .bak
7077
@@ -73,7 +80,12 @@ echo "Adding classport-maven-plugin to pom.xml..."
7380
7481# Measure plugin execution time
7582echo " Measuring plugin execution time..."
76- PLUGIN_TIME=$( { time mvn clean package -DskipTests; } 2>&1 | grep real | awk ' {print $2}' )
83+ echo " ::group::Plugin Build Logs"
84+ PLUGIN_OUTPUT=$( { time mvn clean package -DskipTests 2>&1 ; } )
85+ echo " $PLUGIN_OUTPUT "
86+ echo " $PLUGIN_OUTPUT " > " $LOGS_DIR /${PROGRAM} -plugin-build.log"
87+ echo " ::endgroup::"
88+ PLUGIN_TIME=$( echo " $PLUGIN_OUTPUT " | grep real | awk ' {print $2}' )
7789
7890mv $PROJECT_DIR /$POM_FILE .bak $PROJECT_DIR /$POM_FILE
7991
@@ -91,3 +103,13 @@ echo "Plugin execution time: $PLUGIN_TIME"
91103echo " Overhead introduced by the plugin: ${OVERHEAD} s"
92104echo " Percentage overhead: ${PERCENTAGE_OVERHEAD} %"
93105
106+ # Save summary to file
107+ SUMMARY_FILE=" $LOGS_DIR /${PROGRAM} -summary.txt"
108+ cat > " $SUMMARY_FILE " << EOF
109+ Build Overhead Summary for $PROGRAM
110+ ====================================
111+ Baseline build time: $BASELINE_TIME
112+ Plugin execution time: $PLUGIN_TIME
113+ Overhead introduced by the plugin: ${OVERHEAD} s
114+ Percentage overhead: ${PERCENTAGE_OVERHEAD} %
115+ EOF
0 commit comments