uh_parser/RaptorWarning.pm
changeset 213 0244765a8d6f
parent 210 6669177dab54
child 214 cf1d34408de3
equal deleted inserted replaced
212:914d8060176c 213:0244765a8d6f
   114 
   114 
   115 sub on_end_buildlog_warning
   115 sub on_end_buildlog_warning
   116 {
   116 {
   117 	#print "on_end_buildlog_warning\n";
   117 	#print "on_end_buildlog_warning\n";
   118 	
   118 	
       
   119 	$characters =~ s,^[\r\n]*,,;
       
   120 	$characters =~ s,[\r\n]*$,,;
       
   121 	
   119 	my $package = '';
   122 	my $package = '';
       
   123 	# if bldinf attribute is not available then heuristically attempt to determine the package
       
   124 	if (!$raptor_warning_info->{bldinf} &&
       
   125 		$characters =~ m,.*?(([/\\]sf)?[/\\](os|mw|app|tools|ostools|adaptation)[/\\][^/^\\]*[/\\]),s)
       
   126 	{
       
   127 		$raptor_warning_info->{bldinf} = "$1... (guessed)";
       
   128 	}
       
   129 	
   120 	if ($raptor_warning_info->{bldinf})
   130 	if ($raptor_warning_info->{bldinf})
   121 	{
   131 	{
   122 		$::allbldinfs->{$raptor_warning_info->{bldinf}} = 1;
   132 		$::allbldinfs->{$raptor_warning_info->{bldinf}} = 1;
   123 		
   133 		
   124 		# normalize bldinf path
   134 		# normalize bldinf path
   135 		{
   145 		{
   136 			print "WARNING: can't understand bldinf attribute of raptor warning: $raptor_warning_info->{bldinf}. Won't associate to package.\n";
   146 			print "WARNING: can't understand bldinf attribute of raptor warning: $raptor_warning_info->{bldinf}. Won't associate to package.\n";
   137 		}
   147 		}
   138 	}
   148 	}
   139 	
   149 	
   140 	$characters =~ s,^[\r\n]*,,;
       
   141 	$characters =~ s,[\r\n]*$,,;
       
   142 	
       
   143 	if ($characters =~ m,[^\s^\r^\n],)
   150 	if ($characters =~ m,[^\s^\r^\n],)
   144 	{
   151 	{
   145 		my $bldinf_field = '';
   152 		$filename = "$::raptorbitsdir/raptor_warning.txt";
   146 		if ($package)
   153 		$filename = "$::raptorbitsdir/$package.txt" if ($package);
   147 		{
       
   148 			$filename = "$::raptorbitsdir/$package.txt";
       
   149 			$bldinf_field = $raptor_warning_info->{bldinf};
       
   150 		}
       
   151 		else
       
   152 		{
       
   153 			$filename = "$::raptorbitsdir/raptor_warning.txt";
       
   154 		}
       
   155 		
   154 		
   156 		if (!-f$filename)
   155 		if (!-f$filename)
   157 		{
   156 		{
   158 			print "Writing file $filename\n";
   157 			print "Writing file $filename\n";
   159 			open(FILE, ">$filename");
   158 			open(FILE, ">$filename");
   160 			close(FILE);
   159 			close(FILE);
   161 		}
   160 		}
   162 		
   161 		
   163 		my $dumped = process($characters, $::current_log_file, $bldinf_field, '', '', '', "$package.txt");
   162 		my $dumped = process($characters, $::current_log_file, $raptor_warning_info->{bldinf}, '', '', '', "$package.txt");
   164 		
   163 		
   165 		if ($dumped)
   164 		if ($dumped)
   166 		{
   165 		{
   167 			open(FILE, ">>$filename");
   166 			open(FILE, ">>$filename");
   168 			print FILE "---failure_item_$::failure_item_number\---\n";
   167 			print FILE "---failure_item_$::failure_item_number\---\n";