build/tools/check_environment.pl
changeset 0 beb51793110d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build/tools/check_environment.pl	Mon Jan 18 21:35:57 2010 +0200
@@ -0,0 +1,121 @@
+#
+# Copyright (c) 2009 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:
+#
+#!/usr/bin/perl
+
+# 
+# ==============================================================================
+#  Name        : unzip_check.pl
+#  Description : This script provides comparison functions to create a filelist
+#				 and to check if all files in the list are available on the
+#				 environment.
+# ==============================================================================
+# 
+
+use strict;
+
+use Getopt::Std;
+use vars qw($opt_c $opt_g);
+
+getopts("c:g:");
+
+if ($opt_g =~ m/-c/i || $opt_c =~ m/-g/i)
+{
+	&error_msg("Cannot generate and check at the same time!");
+}
+
+if ($opt_g)
+{
+	&generate();
+}
+elsif ($opt_c)
+{
+	&check();
+}
+else
+{
+	&error_msg("Please define the action and filename!");
+}
+
+
+sub error_msg
+{
+	my($ErrorMsg);
+	($ErrorMsg)=@_;
+	my $given_command=$0;
+	$given_command =~ s/.*\\(\w+\.\w+)$/$1/;
+	print STDERR "\nERROR: $ErrorMsg \n\n" unless ($ErrorMsg =~ /^$/);
+	print STDERR "\nUsage:\n\t$given_command <parameters>\n";
+	print STDERR "\nParameters:\n";
+	print STDERR "\t-g\tGenerate filelist from the environment into file specified after this parameter\n";
+	print STDERR "\t-c\tCheck if all the files are in the environment that are listed in the file specified after this parameter\n";
+	print STDERR "\nExamples:\n\t$given_command -g filelist.txt\n";
+	print STDERR "\t$given_command -c filelist.txt\n";
+	print STDERR "\n";  
+	die "\n";
+}
+
+
+sub generate
+{
+	unless ($opt_g =~ m/^$/)
+	{
+		open (STDOUT, ">".$opt_g);
+	}
+	
+	open (DIRS,"dir /s/b/a-d 2>nul |");
+	
+	my $current_dir = `cd`;
+	for ($current_dir)
+	{
+		s/^\s+//;
+		s/\s+$//;
+		s/^.\:\\//;
+	}
+	#$current_dir = $current_dir."\\";
+
+	while (my $file=<DIRS>)
+	{
+		chomp;
+		for ($file)
+		{
+			s/^\s+//;
+			s/\s+$//;
+			s/^.\:\\//;
+		}
+		substr($file, 0, length($current_dir)+1) = '';
+		{
+			print STDOUT $file."\n";
+		}
+	}
+}
+
+sub check
+{
+	open (INPUTFILE,$opt_c) or error_msg("Filelist $opt_c not found!");
+		
+	while (my $line=<INPUTFILE>)
+	{
+		chomp;
+		for ($line)
+		{
+			s/^\s+//;
+			s/\s+$//;
+		}
+		stat($line);
+		next if -f _;
+		print "MISSING: ".$line."\n";
+	}
+}
\ No newline at end of file