forked from qt-creator/qt-creator
		
	Change-Id: I2fcaa0149fb6fbe65a8a0041823abe5c86db3bba Reviewed-by: Fawzi Mohamed <fawzi.mohamed@digia.com> Reviewed-by: Tobias Hunger <tobias.hunger@digia.com>
		
			
				
	
	
		
			33 lines
		
	
	
		
			809 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			33 lines
		
	
	
		
			809 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl -w
 | 
						|
 | 
						|
=head1 NAME
 | 
						|
 | 
						|
purify2tasks.pl - Convert Rational Purify logs into Qt Creator task files.
 | 
						|
 | 
						|
=head1 SYNOPSIS
 | 
						|
 | 
						|
    purify2tasks.pl < logfile > taskfile
 | 
						|
 | 
						|
=cut
 | 
						|
 | 
						|
use strict;
 | 
						|
 | 
						|
my $lastMessage = '';
 | 
						|
 | 
						|
while (my $line = <STDIN> ) {
 | 
						|
    chomp($line);
 | 
						|
    # --- extract file name based matching:
 | 
						|
    # Classname::function [c:\path\file.cpp:389]
 | 
						|
    if ($line =~ / \[(.*:\d+)\]$/) {
 | 
						|
        my $capture = $1;
 | 
						|
        my $lastColon = rindex($capture, ':');
 | 
						|
        my $fileName = substr($capture, 0, $lastColon);
 | 
						|
        my $lineNumber = substr($capture, $lastColon + 1);
 | 
						|
        $fileName =~ s|\\|/|g;
 | 
						|
        print $fileName, "\t", $lineNumber, "\tpurify\t", $lastMessage,"\n";
 | 
						|
    # match a warning/error report
 | 
						|
    } elsif ($line =~ /^\[[W|E|I]\] /) {
 | 
						|
        $lastMessage = substr($line, 4);
 | 
						|
    }
 | 
						|
}
 |