abuild: Write XML/JUnit files per board
authorPatrick Georgi <patrick@georgi-clan.de>
Sat, 5 Nov 2011 12:21:14 +0000 (13:21 +0100)
committerStefan Reinauer <stefan.reinauer@coreboot.org>
Sun, 6 Nov 2011 17:24:26 +0000 (18:24 +0100)
Write them per-board and merge them after everything is done.
This prepares for build parallelization.

Change-Id: Ia4e7ce03473bcf8861fb9ae06e9c1270292401ac
Signed-off-by: Patrick Georgi <patrick@georgi-clan.de>
Reviewed-on: http://review.coreboot.org/407
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
util/abuild/abuild

index 4ab0230c6f2340a762dd0f5c963615aab9b9ac63..8b81ea17fc9b6ffdbbbd80a9199f4bc3236d7698 100755 (executable)
 ABUILD_DATE="December 10th, 2010"
 ABUILD_VERSION="0.9.1"
 
+TOP=$PWD
+
 # Where shall we place all the build trees?
 TARGET=coreboot-builds
-XMLFILE=$( pwd )/abuild.xml
+XMLFILE=$TOP/abuild.xml
+REAL_XMLFILE=$XMLFILE
 
 # path to payload. Should be more generic
 PAYLOAD=/dev/null
@@ -363,6 +366,7 @@ function build_target
        HOSTCC='gcc'
 
        printf "Building $VENDOR/$MAINBOARD; "
+       XMLFILE=$TOP/$TARGET/${VENDOR}_${MAINBOARD}/abuild.xml
 
        xml "<mainboard>"
        xml ""
@@ -652,6 +656,8 @@ if [ "$target" != "" ]; then
        fi
        build_target $VENDOR $MAINBOARD $CONFIG
        test_target $VENDOR $MAINBOARD
+       cat $TARGET/${VENDOR}_${MAINBOARD}/abuild.xml >> $REAL_XMLFILE
+       XMLFILE=$REAL_XMLFILE
 else
        # build all boards per default
        for VENDOR in $( vendors ); do
@@ -661,6 +667,10 @@ else
                        remove_target $VENDOR $MAINBOARD
                done
        done
+       for xmlfile in $TARGET/*_*/abuild.xml; do
+               cat $xmlfile >> $REAL_XMLFILE
+       done
+       XMLFILE=$REAL_XMLFILE
 fi
 xml '</abuild>'
 junit '</testsuite>'