diff -r 000000000000 -r 96612d01cf9f tsrc/testing/tools/tsrpkgtool.pl --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tsrc/testing/tools/tsrpkgtool.pl Mon Jan 18 20:21:12 2010 +0200 @@ -0,0 +1,152 @@ +# +# Copyright (c) 2007 Nokia Corporation and/or its subsidiary(-ies). +# All rights reserved. +# This component and the accompanying materials are made available +# under the terms of "Eclipse Public License v1.0" +# which accompanies this distribution, and is available +# at the URL "http://www.eclipse.org/legal/epl-v10.html". +# +# Initial Contributors: +# Nokia Corporation - initial contribution. +# +# Contributors: +# +# Description: +# + + +#------------------------------------------------------------------------------------ +# Includes +#------------------------------------------------------------------------------------ +#use strict; +use warnings; +use Cwd; # for cwd +use FindBin; # for FindBin:Bin +use File::Path; # for mkpath +use Date::Calc; + +#------------------------------------------------------------------------------------ +# GLOBAL CODE +#------------------------------------------------------------------------------------ + +my $option = ""; +$option = shift(@ARGV) if( scalar(@ARGV) > 0 ); + +if( $option =~ m/\-h/i ) +{ + print( + "tsrcpkgtool.pl\n" . + " Toggles comments in all pkgs under tsrc folders for lines \n" . + " which have testframework.ini or cccccc00.cre cenrep.\n" . + " Options:\n" . + " -h help\n -r remove only\n -a add only\n" ); + exit; +} + +my @files; +FindFiles(".", ".pkg", 1, \@files); +FindFiles(".", ".inf", 1, \@files); + +my $comment = ";TEMPCOMMENT "; +my $comment_inf = "//TEMPCOMMENT "; + + +foreach my $file ( @files ) +{ + if( $file =~ m/\/tsrc\//i ) + { + open(FILE_HANDLE, $file) or die ("Could not read file '$file'\n"); + my @lines = ; + close(FILE_HANDLE); + + open(FILE_HANDLE, ">$file") or die ("Could not write file '$file'\n"); + foreach my $line ( @lines ) + { + if( $line =~ /\.\.\/init\/testframework\.ini/i or $line =~ /\/cccccc00\.cre/i or + $line =~ /\.\.\\init\\testframework\.ini/i or $line =~ /\\cccccc00\.cre/i ) + { + my $filename = $file; + $filename =~ s/\//\\/g; + $filename = substr( $filename, rindex( $filename, "\\" )+1 ); + + if( $line =~ /$comment/ ) + { + if( $option ne "-a" ) + { + # Remove comment. + $line = substr( $line, length( $comment ) ); + print("Removed comment: $filename.\n"); + } + } + elsif( $line =~ /$comment_inf/ ) + { + if( $option ne "-a" ) + { + # Remove comment. + $line = substr( $line, length( $comment_inf ) ); + print("Removed comment: $filename.\n"); + } + } + else + { + if( $option ne "-r" ) + { + # Add comment. + if( $filename =~ /\.inf/ ) { + $line = $comment_inf . $line; + } + else { + $line = $comment . $line; + } + print("Added comment: $filename.\n"); + } + } + } + print FILE_HANDLE $line; + } + close(FILE_HANDLE); + } +} + +#------------------------------------------------------------------------------------ +# FindFiles +# Parameters: +# $goDir, where to start finding +# $fileSearch, filename search +# $searchType, 0 = fullname search, 1 = filetype search +# $refIncfiles, reference to array which will hold found files +#------------------------------------------------------------------------------------ +sub FindFiles +{ + my ($godir, $fileSearch, $searchType, $refIncfiles) = @_; + + my $startDir = cwd; + + chdir($godir); + + #print("Now in: " . cwd . "\n"); + + opendir(DIR, "."); + my @filelist = sort(readdir(DIR)); + closedir(DIR); + + foreach my $file(@filelist) + { + if($file eq "." or $file eq "..") {next}; + + if (-d $file) + { + FindFiles( $file, $fileSearch, $searchType, $refIncfiles); + } else + { + if( ($file =~ m/$fileSearch/i and $searchType == 0 ) or ($file =~ m/$fileSearch$/i and $searchType == 1 ) ) + { + $file = cwd . "/" . $file; + push @$refIncfiles, $file; + #print("$file\n"); + } + } + } + + chdir ($startDir); +}