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";
 | |
| }
 |