#! perl# Copyright (c) 2009 Symbian Foundation Ltd# This component and the accompanying materials are made available# under the terms of the License "Eclipse Public License v1.0"# which accompanies this distribution, and is available# at the URL "http://www.eclipse.org/legal/epl-v10.html".## Initial Contributors:# Symbian Foundation Ltd - initial contribution.## Contributors:## Description:# Perl script to summarise output from clone_all_package.pl@all = <>;my $repo;my $newrepo = 0;my $errors = 0;my $summary = 0;my $retries = 0;foreach my $line (@all){ if($summary) { # if we are in the summary section then just echo all lines out # this should be a list of all the packages with errors print "$line\n"; } #save package name # e.g new package "Cloning compatanaapps from sfl/MCL/sftools/ana/compatanaapps..." # e.g. existing package "Updating helix from sfl/MCL/sf/mw/helix..." # e.g. with -exec option "Processing sfl/FCL/interim/auxiliary_tools/AgileBrowser." elsif ($line =~ m/Cloning (.*?)from(.*)$/) { $repo = $2; $newrepo = 1; $retries =0; } elsif ($line =~ m/Updating (.*?)from(.*)$/) { $repo = $2; $newrepo = 0; $retries =0; } # # Capture number of changes, should be line like one of the following # e.g. "added 4 changesets with 718 changes to 690 files" # e.g. "no changes found" elsif ($line =~ m/added (.*?)changesets with(.*)$/) { print "\n$repo\t added $1 chamgesets"; print "\t retries $retries"; print "\t** NEW" if ($newrepo); } if($line =~ m/abort:/) { $retries++; } # Process the summary section # e.g. "------------" # e.g. "Processed 22 packages, of which 0 reported errors" if ($line =~ m/Processed (.*?)packages, of which(.*?)reported errors/) { print "\n-------------------------------\n"; print "\n Summary: Processed $1 : Errors $2\n"; $errors= $2; $summary = 1; }}if ($errors > 0){ print "\nexit with error\n"; exit 1;}else{ print "\nexit success\n"; exit 0;}