# HG changeset patch # User Shabe Razvi # Date 1266343026 0 # Node ID ed28a33746f26ceabc35bde38158da2665e1c4d7 # Parent d80a65072ed8a31f7f7d97ade68ff0ca457e681d# Parent fc600bbaa15c2cbc346d1f33e30b2d512bcf9c2a Merge diff -r d80a65072ed8 -r ed28a33746f2 common/build.postbuild.xml --- a/common/build.postbuild.xml Tue Feb 16 17:50:17 2010 +0000 +++ b/common/build.postbuild.xml Tue Feb 16 17:57:06 2010 +0000 @@ -384,10 +384,10 @@ - + @@ -422,10 +422,10 @@ - - - - + + + + @@ -459,10 +459,10 @@ - + diff -r d80a65072ed8 -r ed28a33746f2 common/build.test.xml --- a/common/build.test.xml Tue Feb 16 17:50:17 2010 +0000 +++ b/common/build.test.xml Tue Feb 16 17:57:06 2010 +0000 @@ -82,6 +82,7 @@ + @@ -94,6 +95,7 @@ + diff -r d80a65072ed8 -r ed28a33746f2 common/build.xml --- a/common/build.xml Tue Feb 16 17:50:17 2010 +0000 +++ b/common/build.xml Tue Feb 16 17:57:06 2010 +0000 @@ -130,6 +130,11 @@ + + + + + @@ -149,12 +154,12 @@ - + @@ -222,7 +227,7 @@ - + @@ -242,6 +247,23 @@ + + + + + + [SF-DIAMONDS-ENVINFO] + + + + + + + + + + + diff -r d80a65072ed8 -r ed28a33746f2 common/diamonds/config.xml.ftl --- a/common/diamonds/config.xml.ftl Tue Feb 16 17:50:17 2010 +0000 +++ b/common/diamonds/config.xml.ftl Tue Feb 16 17:57:06 2010 +0000 @@ -39,8 +39,9 @@ - + + - + defer="true"/ --> diff -r d80a65072ed8 -r ed28a33746f2 common/tools/brag/brag.xsl --- a/common/tools/brag/brag.xsl Tue Feb 16 17:50:17 2010 +0000 +++ b/common/tools/brag/brag.xsl Tue Feb 16 17:57:06 2010 +0000 @@ -13,10 +13,10 @@

Build Status

- - - - + + + +

Overall BRAGG staus: @@ -35,7 +35,7 @@ Major Minor Unknown - Grand total + Grand total

Breakdown by phase/step

@@ -47,12 +47,27 @@ + + + Step: + + Step: + + Failures: + + + + Number: + + Number: + + @@ -60,48 +75,9 @@ - - -

Breakdown by package

- - - - - - - - - - -
PackageTotal failures
- -

Breakdown by package/severity

- - - - -

-
- - - - - - - - - -
SeverityCount
- - - -
-
-
-

Floating failures by phase/step/severity

-

No errors independent of package

+

No failures to show. Please also check the Raptor build summary for details on that part of the build

Phase:

@@ -126,39 +102,6 @@
-

Package failures by package/severity

- -

No errors specific to a package

-
- - - - -

-
- - - -
- () -
-
    - - -
  • - -
    (Too much text to show everything; lines not shown.) -
    - -
    -
    -
    -
-
-
-
-
- diff -r d80a65072ed8 -r ed28a33746f2 common/tools/brag/bragForDiamonds.xsl --- a/common/tools/brag/bragForDiamonds.xsl Tue Feb 16 17:50:17 2010 +0000 +++ b/common/tools/brag/bragForDiamonds.xsl Tue Feb 16 17:57:06 2010 +0000 @@ -2,10 +2,10 @@ - - - - + + + + 13 diff -r d80a65072ed8 -r ed28a33746f2 common/tools/brag/uh2brag.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/brag/uh2brag.pl Tue Feb 16 17:57:06 2010 +0000 @@ -0,0 +1,74 @@ +#!perl -w +# +# 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: +# Generate a BRAG-compatible XML summary from an index.html file coming out of the uh parser + +use strict; + +use Getopt::Long; + +my $raptorSummary; +my $help = 0; +GetOptions(( + 'index=s' => \$raptorSummary, + 'help!' => \$help +)); + +$help = 1 if (!$raptorSummary); +if ($help) +{ + print "Generate an XML summary of the Raptor build from a summary.csv file\n"; + print "Usage: perl summarize.pl --index=INDEXFILE\n"; + exit(0); +} + +my $criticals = 0; +my $majors = 0; +my $minors = 0; +my $unknowns = 0; + +# READ INDEX.HTML FILE +if (open(INDEX, $raptorSummary)) +{ + while (my $line = ) + { + if ($line =~ m{.*(\d+)(\d+)(\d+)(\d+)}) + { + $criticals += $1 if ($1); + $majors += $2 if ($2); + $minors += $3 if ($3); + $unknowns += $4 if ($4); + } + } + close(INDEX); +} + +# Print XML +print <<_END; + + + + + + + + + + + + +_END + +exit(0); + diff -r d80a65072ed8 -r ed28a33746f2 common/tools/envinfo.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/common/tools/envinfo.pl Tue Feb 16 17:57:06 2010 +0000 @@ -0,0 +1,177 @@ +# 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: +# Dumps environment info such as tools version to cmdline then to a Diamonds file + +use strict; + +use Getopt::Long; + +my $output = "\\output\\logs\\diamonds_envinfo.xml"; +my $help = 0; +GetOptions(( + 'out=s' => \$output, + 'help!' => \$help +)); + +if ($help) +{ + print "Dumps environment info such as tools version to cmdline then to a Diamonds file\n"; + print "Usage: perl envinfo.pl --out=XMLFILE\n"; + print "\n"; + print "XMLFILE is optional, its default is \\output\\logs\\diamonds_envinfo.xml\n"; + exit(0); +} + +my @environment_info = (); + +# Machine name +push @environment_info, {name=>'Machine', version=>$ENV{'COMPUTERNAME'}}; + +# OS Name and Version +my $os_name = 'N.A.'; +my $os_ver = 'N.A.'; +my $os_out = `systeminfo`; +$os_name = $1 if ($os_out =~ /^OS Name:\s+(.*)/m); +$os_ver = $1 if ($os_out =~ /^OS Version:\s+(.*)/m); +push @environment_info, {name=>'OS Name', version=>$os_name}; +push @environment_info, {name=>'OS Version', version=>$os_ver}; + +# Perl +my $perl_ver = 'N.A.'; +my $perl_out = `perl -v`; +$perl_ver = $1 if ($perl_out =~ /This is perl, v(\S+)/m); +push @environment_info, {name=>'Perl', version=>$perl_ver}; + +# Python +my $python_ver = 'N.A.'; +my $python_out = `python -V 2>&1`; +$python_ver = $1 if ($python_out =~ /^Python\s+(\S+)/m); +push @environment_info, {name=>'Python', version=>$python_ver}; + +# Mercurial +my $hg_ver = 'N.A.'; +my $hg_out = `hg --version`; +$hg_ver = $1 if ($hg_out =~ /^Mercurial Distributed SCM \(version ([^)]+)\)/m); +push @environment_info, {name=>'Mercurial', version=>$hg_ver}; + +# 7-Zip +my $zip_ver = 'N.A.'; +my $zip_out = `7z`; +$zip_ver = $1 if ($zip_out =~ /^7-Zip\s+(\S+)\s+Copyright/m); +push @environment_info, {name=>'7-Zip', version=>$zip_ver}; + +# Raptor +my $sbs_ver = 'N.A.'; +my $sbs_out = `sbs -v`; +$sbs_ver = $1 if ($sbs_out =~ /^sbs version (.*)/m); +push @environment_info, {name=>'sbs', version=>$sbs_ver}; + +# Metrowerk Compiler +my $mwcc_ver = 'N.A.'; +my $mwcc_out = `mwccsym2 -version`; +$mwcc_ver = $1 if ($mwcc_out =~ /^Version (.*) \(Build/m); +push @environment_info, {name=>'mwccsym2', version=>$mwcc_ver}; + +# RVCT 2.2 +my $rvct22_ver = 'N.A.'; +my $rvct22_path = ''; +if (defined $ENV{'SBS_RVCT22BIN'}) +{ + $rvct22_path = $ENV{'SBS_RVCT22BIN'}; +} +elsif (defined $ENV{'RVCT22BIN'}) +{ + $rvct22_path = $ENV{'RVCT22BIN'}; +} +my $rvct22_cmd = 'armcc 2>&1'; +$rvct22_cmd = "$rvct22_path\\$rvct22_cmd" if ($rvct22_path); +my $rvct22_out = `$rvct22_cmd`; +$rvct22_ver = $1 if ($rvct22_out =~ m#ARM/Thumb C/C\+\+ Compiler, RVCT2.2 (.*)#m); +push @environment_info, {name=>'RVCT2.2', version=>$rvct22_ver}; + +# RVCT 4.0 +my $rvct40_ver = 'N.A.'; +my $rvct40_path = ''; +if (defined $ENV{'SBS_RVCT40BIN'}) +{ + $rvct40_path = $ENV{'SBS_RVCT40BIN'}; +} +elsif (defined $ENV{'RVCT40BIN'}) +{ + $rvct40_path = $ENV{'RVCT40BIN'}; +} +my $rvct40_cmd = 'armcc 2>&1'; +$rvct40_cmd = "$rvct40_path\\$rvct40_cmd" if ($rvct40_path); +my $rvct40_out = `$rvct40_cmd`; +$rvct40_ver = $1 if ($rvct40_out =~ m#ARM C/C\+\+ Compiler, RVCT4.0 (.*)#m); +push @environment_info, {name=>'RVCT4.0', version=>$rvct40_ver}; + +# GCCE 4.4.1 +my $gcc441_ver = 'N.A.'; +my $gcc441_path = ''; +if (defined $ENV{'SBS_GCCE441BIN'}) +{ + $gcc441_path = $ENV{'SBS_GCCE441BIN'}; +} +elsif (defined $ENV{'GCCE441BIN'}) +{ + $gcc441_path = $ENV{'GCCE441BIN'}; +} +if ($gcc441_path) +{ + my $gcc441_cmd = "$gcc441_path\\arm-none-symbianelf-g++ -dumpversion"; + my $gcc441_out = `$gcc441_cmd`; + $gcc441_ver = "4.4.1" if ($gcc441_out =~ /4.4.1/); +} +push @environment_info, {name=>'GCC4.4.1', version=>$gcc441_ver}; + + +for my $tool_info (@environment_info) +{ + print $tool_info->{name} . ": " . $tool_info->{version} . "\n"; +} + + +# write diamonds file + +@environment_info = reverse(@environment_info); + +my $xml_content = <<_EOX; + + + + 10 + +_HERE_TOOLS_LINES_ + + +_EOX + +my $tools_lines = ''; +for my $tool_info (@environment_info) +{ + $tools_lines .= " $tool_info->{name}$tool_info->{version}\n"; +} + +$xml_content =~ s/_HERE_TOOLS_LINES_/$tools_lines/; + +if (open(ENVINFO, ">$output")) +{ + print ENVINFO $xml_content; + close(ENVINFO); + print "Wrote Diamonds file: $output\n"; +} +else +{ + warn "Could not write to file: $output\n"; +} \ No newline at end of file diff -r d80a65072ed8 -r ed28a33746f2 common/tools/raptor/RaptorRecipe.pm --- a/common/tools/raptor/RaptorRecipe.pm Tue Feb 16 17:50:17 2010 +0000 +++ b/common/tools/raptor/RaptorRecipe.pm Tue Feb 16 17:57:06 2010 +0000 @@ -205,6 +205,8 @@ sub on_end_buildlog_recipe { + $::allbldinfs->{$recipe_info->{bldinf}} = 1; + if ($recipe_info->{exit} =~ /failed/) { # normalize bldinf path diff -r d80a65072ed8 -r ed28a33746f2 common/tools/raptor/uh.pl --- a/common/tools/raptor/uh.pl Tue Feb 16 17:50:17 2010 +0000 +++ b/common/tools/raptor/uh.pl Tue Feb 16 17:57:06 2010 +0000 @@ -72,6 +72,8 @@ $saxhandler->add_observer('RaptorUnreciped', $RaptorUnreciped::reset_status); $saxhandler->add_observer('RaptorRecipe', $RaptorRecipe::reset_status); +our $allbldinfs = {}; + my $parser = XML::SAX::ParserFactory->parser(Handler=>$saxhandler); for (@logfiles) { @@ -80,6 +82,8 @@ $parser->parse_uri($_); } +my @allpackages = distinct_packages($allbldinfs); + print "Generating HTML...\n"; system("rd /S /Q $outputdir") if (-d $outputdir); @@ -223,27 +227,37 @@ print AGGREGATED "\n"; print AGGREGATED "
\n"; -print AGGREGATED "
PACKGE-SPECIFIC FAILURES
\n"; +print AGGREGATED "
PACKAGE-SPECIFIC FAILURES
\n"; print AGGREGATED "\n"; $tableheader = ""; for (@severities) { $tableheader .= ""; } $tableheader .= ""; print AGGREGATED "$tableheader\n"; -for my $package (keys %{$recipe_failures_num_by_severity}) +for my $package (@allpackages) { - print_package_specific_summary($package, $recipe_failures_by_package_severity->{$package}); - my $packagesummaryhtml = $package; - $packagesummaryhtml =~ s,/,_,; - $packagesummaryhtml .= ".html"; - my $packageline = ""; - for (@severities) + if (defined $recipe_failures_num_by_severity->{$package}) { - my $failuresbyseverity = 0; - $failuresbyseverity = $recipe_failures_num_by_severity->{$package}->{$_} if (defined $recipe_failures_num_by_severity->{$package}->{$_}); - $packageline .= ""; + print_package_specific_summary($package, $recipe_failures_by_package_severity->{$package}); + my $packagesummaryhtml = $package; + $packagesummaryhtml =~ s,/,_,; + $packagesummaryhtml .= ".html"; + my $packageline = ""; + for (@severities) + { + my $failuresbyseverity = 0; + $failuresbyseverity = $recipe_failures_num_by_severity->{$package}->{$_} if (defined $recipe_failures_num_by_severity->{$package}->{$_}); + $packageline .= ""; + } + $packageline .= ""; + print AGGREGATED "$packageline\n"; } - $packageline .= ""; - print AGGREGATED "$packageline\n"; + else + { + my $packageline = ""; + for (@severities) { $packageline .= ""; } + $packageline .= ""; + print AGGREGATED "$packageline\n"; + } } print AGGREGATED "
package$_
$package$failuresbyseverity
$package$failuresbyseverity
$package0
\n"; close(AGGREGATED); @@ -357,4 +371,33 @@ print FILE $filecontent; close(FILE); } +} + +sub distinct_packages +{ + my ($allbldinfs) = @_; + + my $allpackages = {}; + + for my $bldinf (keys %{$allbldinfs}) + { + # normalize bldinf path + $bldinf = lc($bldinf); + $bldinf =~ s,^[A-Za-z]:,,; + $bldinf =~ s,[\\],/,g; + + my $package = ''; + if ($bldinf =~ m,/((os|mw|app|tools|ostools|adaptation)/[^/]*),) + { + $package = $1; + } + else + { + print "WARNING: can't understand bldinf attribute of recipe: $bldinf. Won't dump to failed recipes file.\n"; + } + + $allpackages->{$package} = 1; + } + + return sort {$a cmp $b} keys %{$allpackages}; } \ No newline at end of file diff -r d80a65072ed8 -r ed28a33746f2 sf-package/CompilerCompatibility_props.ant.xml --- a/sf-package/CompilerCompatibility_props.ant.xml Tue Feb 16 17:50:17 2010 +0000 +++ b/sf-package/CompilerCompatibility_props.ant.xml Tue Feb 16 17:57:06 2010 +0000 @@ -1,6 +1,6 @@ - + diff -r d80a65072ed8 -r ed28a33746f2 sf-package/NewGraphicsArchitecture_props.ant.xml --- a/sf-package/NewGraphicsArchitecture_props.ant.xml Tue Feb 16 17:50:17 2010 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ - - - - - - diff -r d80a65072ed8 -r ed28a33746f2 sf-package/symbian3_props.ant.xml --- a/sf-package/symbian3_props.ant.xml Tue Feb 16 17:50:17 2010 +0000 +++ b/sf-package/symbian3_props.ant.xml Tue Feb 16 17:57:06 2010 +0000 @@ -1,6 +1,6 @@ - +