--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/bldsystemtools/commonbldutils/GenResult/publishDiamonds.pm Tue Feb 02 01:39:43 2010 +0200
@@ -0,0 +1,98 @@
+# 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 that actually calls the send_xml_to_diamonds.pl for sending data to Diamonds server
+# It also maintains the Diamonds BuildID
+#
+package publishDiamonds;
+use strict;
+use FindBin;
+use lib "$FindBin::Bin";
+
+my $buildIdFile = "DiamondsBuildID";
+#~ my $server = 'diamonds.nmp.nokia.com:9003';
+#~ my $localServer = '2ind04992.noe.nokia.com:8888';
+sub publishToDiamonds
+{
+ my $file = shift;
+ my $server = shift;
+ chomp ($file);
+
+ ##--remove blank lines
+ open (FILE,"<$file") or warn "$file::$!\n";
+ open (OUT, ">tmpfile.$$") or warn "tmpfile.$$::$!\n";
+ while(<FILE>)
+ {
+ next if /^\s*$/;
+ print OUT $_;
+ }
+ close FILE; close OUT;
+ unlink("$file") or warn "Error in deleting: $!\n";
+ rename("tmpfile.$$", "$file") or warn "Error in rename: $!";
+
+ my $command = "perl $FindBin::Bin\\send_xml_to_diamonds.pl -s $server -f $file";
+
+ my $id = 0;
+ eval
+ {
+ open(FH,"<DiamondsBuildID") or warn "DiamondsBuildID file not created: $!\n";
+ };
+ if (!$@)
+ {
+ $id = <FH>;
+ close (FH);
+ }
+ if($id ne "" && $id > 1)
+ {
+ $command .= " -u /diamonds/builds/$id/";
+ executeCommand($command);
+ }
+ else
+ {
+ $command .= " -u /diamonds/builds/";
+ $id = executeCommand($command);
+ open (FH,">DiamondsBuildID") or die "DiamondsBuildID file not created: $!\n";
+ print FH $id;
+ }
+close(FH);
+}
+
+
+sub executeCommand
+{
+ my $command = shift;
+ #~ print "$command\n";
+ my @cmdOP = `$command`;
+ my @serverResponse = grep {/^Server response:/i} @cmdOP;
+ my @responseStatus = grep {/^Response status:/i} @cmdOP;
+ my @responseReason = grep {/^Response reason:/i} @cmdOP;
+
+ chomp(@serverResponse,@responseReason,@responseStatus);
+ if ($responseStatus[0] !~ /:200/)
+ {
+ print "Error sending XML: $responseReason[0]\n";
+ }
+ elsif($serverResponse[0] !~ /:\/diamonds\/builds\/\d+\//)
+ {
+ print "Diamond Server Response: $serverResponse[0]\n";
+ }
+ else
+ {
+ $serverResponse[0] =~ /:\/diamonds\/builds\/(\d+)\//;
+ my $id = $1;
+ print "$id\n";
+ return $id;
+ }
+}
+
+1;