--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bldsystemtools/commonbldutils/GenResult/GenDiamondsXml.pm Tue Feb 02 01:39:43 2010 +0200
@@ -0,0 +1,114 @@
+# Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "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:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description:
+# Script to Generate the XML file that is suitable for Diamonds
+#
+#
+package GenDiamondsXml;
+use FindBin;
+use lib "$FindBin::Bin/lib";
+use strict;
+use Text::Template;
+use Text::Template 'fill_in_file';
+use publishDiamonds;
+use ZipDiamondsXml;
+
+my $Debug = 0;
+my $MainXML = "Main.xml";
+my @start;
+if($ENV{BuildSubType} eq "Daily")
+{
+ @start = ('build.tmpl','schema.tmpl','locations.tmpl','tools.tmpl','content.tmpl','files.tmpl');
+}
+elsif($ENV{BuildSubType} eq "Test")
+{
+ @start = ('build.tmpl','schema.tmpl','locations.tmpl','tools.tmpl','files.tmpl');
+}
+
+my %states = (
+'STARTBUILD' => {
+ 'START' => \@start
+ #~ 'START' => ['files.tmpl']
+ },
+'GT' => {
+ 'START' => ['stage.tmpl'],
+ 'STOP' => ['stage.tmpl', 'faults.tmpl']
+ },
+'TV' => {
+ 'START' => ['stage.tmpl'],
+ 'STOP' => ['stage.tmpl','faults.tmpl']
+ },
+'ROM' => {
+ 'START' => ['stage.tmpl'],
+ 'STOP' => ['stage.tmpl','faults.tmpl']
+ },
+'CBR' => {
+ 'START' => ['stage.tmpl'],
+ 'STOP' => ['stage.tmpl','faults.tmpl']
+ },
+'CDB' => {
+ 'START' => ['stage.tmpl'],
+ 'STOP' => ['stage.tmpl','faults.tmpl']
+ },
+'BUILD' => {
+ 'START' => ['stage.tmpl'],
+ 'STOP' => ['stage.tmpl','faults.tmpl']
+ },
+'ENDBUILD' => {
+ 'START' => ['diamonds_finish.tmpl', 'status.tmpl']
+ }
+);
+
+sub main
+{
+ my ($iStage, $iState, $iServer) = @_;
+ print "STAGE: $iStage\t STATE: $iState\n";
+ my %vars = ();
+ $vars{'iStage'} = $iStage;
+ $vars{$iState} = 1;
+ my $LogsLocation = $ENV{LogsDir}."\\";
+ my @toMerge = ();
+ my $BatFile = "SendXmls.bat";
+ open (BAT,">>$BatFile") or warn "$BatFile: $!\n";
+
+ foreach my $tmpl (@{$states{$iStage}{$iState}})
+ {
+ my $suffix = "_".$iStage."_".$iState;
+ my $XmlName = $tmpl;
+ $XmlName =~ s/\.tmpl/$suffix\.xml/;
+ my $outfile = $LogsLocation.$XmlName;
+ $tmpl = "$FindBin::Bin/".$tmpl;
+ open(OUT,">$outfile");
+ print "Processing $tmpl...\n" if $Debug;
+ my $template = Text::Template->new(TYPE => 'FILE', SOURCE => $tmpl)or die "Couldn't construct template: $Text::Template::ERROR";
+ my $success = $template->fill_in(OUTPUT => \*OUT, DELIMITERS => [ '[@--', '--@]' ], HASH => \%vars) or warn "$Text::Template::ERROR\n";
+ close(OUT);
+ if ($success)
+ {
+ print "Successfully processed $tmpl\n" if $Debug;
+ &publishDiamonds::publishToDiamonds($outfile,$iServer) if($ENV{BuildSubType} eq "Daily");
+ &ZipDiamondsXml::main($outfile);
+ print BAT "perl -e \"use publishDiamonds; &publishDiamonds::publishToDiamonds(\'$XmlName\',\'$iServer\');\"\n";
+ unlink ($outfile) or warn "Error in deleting: $!\n";
+ }
+ }
+ close(BAT);
+ if ($iStage eq "ENDBUILD")
+ {
+ &ZipDiamondsXml::main($BatFile);
+ unlink ($BatFile) or warn "Error in deleting: $!\n";
+ &ZipDiamondsXml::main($FindBin::Bin."/"."publishDiamonds.pm");
+ &ZipDiamondsXml::main($FindBin::Bin."/"."send_xml_to_diamonds.pl");
+ }
+}
+1;