diff -r 000000000000 -r 83f4b4db085c bldsystemtools/commonbldutils/GetDPComp/unzip_cbr_tools.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bldsystemtools/commonbldutils/GetDPComp/unzip_cbr_tools.pl Tue Feb 02 01:39:43 2010 +0200 @@ -0,0 +1,84 @@ +use FindBin; +use lib "$FindBin::Bin"; +use LWP::UserAgent; +use Getopt::Long; + +my($tcl_delta_cache, $log_dir, $product, $number); + +GetOptions ( + 'tcl_delta_cache=s' => \$tcl_delta_cache, + 'log_dir=s' => \$log_dir, + 'product=s' => \$product, + 'number=s' => \$number, + 'version=s' => \$ver_dp_tools # like DP00562 +); + +my $full_ver_latest_green = ''; +# if user doesn't specify the detail dp tools build number throught the parameter "-version" +# auto connect to intweb service to get latest green build number list +unless( defined($ver_dp_tools) ) +{ + # Alternative method of getting the BRAG status - use the HTTP interface to Autobuild + my $parameters = "product=$product&number=$number"; + my $sLogsLocation = "http://intweb:8080/esr/query?$parameters"; + my $roUserAgent = LWP::UserAgent->new; + my $roResponse = $roUserAgent->get($sLogsLocation); + my $ver_info = $roResponse->content; + print "--------------------Retrieve build and brag information-------------------------\n"; + print "$ver_info\n"; + print "--------------------------------------------------------------------------------\n"; + my @lst_ver = (); + while ($ver_info =~ m/snapshot\s+=\s+dp.*/gi) + { + $ver = $&; + push(@lst_ver, $ver); + } + + my @lst_brag = (); + while ($ver_info =~ m/==\s+brag\s+=.*/gi) + { + $brag = $&; + push(@lst_brag, $brag); + } + + my $scalar_lst_brag = @lst_brag; + my $index; + for($index = 0; $index < $scalar_lst_brag; $index++) + { + if($lst_brag[$index] =~ /green/i) + { + last; + } + } + + my $ver_latest_green; + if($index == $scalar_lst_brag) + { + print "No green build found for DP Tools! Build will be terminated!\n"; + exit 0; + } + else + { + if($lst_ver[$index] =~ /(dp.*)/i) + { + $ver_latest_green = $1; + print "Found green dp build: $ver_latest_green\n"; + } + } + $full_ver_latest_green = "$ver_latest_green"."_DeveloperProduct"; +} +else +{ + # use the build number specified by users + $full_ver_latest_green = "$ver_dp_tools"."_DeveloperProduct"; + print "Use specified dp build: $ver_dp_tools\n"; +} + +my $unzip_exe = "$tcl_delta_cache\\DP\\master\\sf\\dev\\hostenv\\dist\\unzip-5.40\\unzip.exe"; +my $cbr_tools_zip = "\"\\\\builds01\\devbuilds\\DeveloperProduct\\$full_ver_latest_green\\SF_Package\\CBR tools_windows.zip\""; +my $cmd_unzip_cbr_tools = "$unzip_exe -o $cbr_tools_zip > $log_dir\\cbrtools_unzip.log"; +print "unzip command: $cmd_unzip_cbr_tools\n"; + +print "Unzip the zip package of cbr tools from the server \"builds01\"\n"; +system($cmd_unzip_cbr_tools); +print "check the detailed of unzip process from cbrtools_unzip.log\n"; \ No newline at end of file