forked from qt-creator/qt-creator
		
	Change-Id: I992c0e72c41d1c82788ef096c7d0b4433b6ce148 Reviewed-on: http://codereview.qt.nokia.com/3726 Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com> Reviewed-by: Tobias Hunger <tobias.hunger@nokia.com>
		
			
				
	
	
		
			37 lines
		
	
	
		
			995 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			995 B
		
	
	
	
		
			Perl
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/perl -w
 | 
						|
 | 
						|
use strict;
 | 
						|
 | 
						|
my $file = shift;
 | 
						|
 | 
						|
if (!defined $file)
 | 
						|
{
 | 
						|
   my $usage=<<EOF;
 | 
						|
Usage: krazy2tasks.pl outputfile
 | 
						|
 | 
						|
Runs KDE's Krazy2 code scanning tool on .cpp/.h files it finds below the
 | 
						|
the working directory, filters and converts the output into a .tasks file
 | 
						|
that can be loaded into Qt Creator's build issues pane via 'Open'.
 | 
						|
EOF
 | 
						|
   print $usage;
 | 
						|
   exit(0);
 | 
						|
}
 | 
						|
 | 
						|
open(PIPE, 'find . -name "*.cpp" -o -name "*.h" | grep -v /tests/ | grep -v /3rdparty/ | xargs krazy2 --check-sets qt4 --exclude captruefalse --export textedit |') or
 | 
						|
    die 'Could not start krazy2, please make sure it is in your PATH.';
 | 
						|
open(FILE, ">$file") or die ('Failed to open ' . $file . ' for writing.');
 | 
						|
 | 
						|
while (<PIPE>) {
 | 
						|
    my $line = $_;
 | 
						|
    chomp $line;
 | 
						|
    next unless $line =~ /^(.*):(\d+):(.*)$/;
 | 
						|
 | 
						|
    my $file = $1;
 | 
						|
    my $lineno = $2;
 | 
						|
    my $description = $3;
 | 
						|
    next if $file =~ /\/3rdparty\//;
 | 
						|
    next if $file =~ /\/tests\//;
 | 
						|
 | 
						|
    print FILE "$file\t$lineno\tWARN\tKrazy: $description\n";
 | 
						|
}
 |