bldsystemtools/commonbldutils/BxCopy.pm
branchRCL_3
changeset 24 d90029decf65
parent 20 a9d4531388d0
child 33 54aa4a06a075
child 34 5e522efbae7b
--- a/bldsystemtools/commonbldutils/BxCopy.pm	Wed Mar 31 23:20:42 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-# Copyright (c) 2003-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:
-# This module implements the MD5 version of the Evalid's comapre
-# 
-#
-
-package BxCopy;
-
-use strict;
-use File::Copy;
-use File::Find;
-use File::Path;
-
-# FilterDir
-#
-# Inputs
-# $iDir - Directory to process
-# $iExclude - Reference to array of regular expression patterns to exclude
-# $iInclude - Reference to array of regular expression patterns to include
-#
-# Outputs
-# @iFinalFileList - Filtered list relative filenames
-#
-# Description
-# This function produces a filtered list of filenames in the specified directory
-
-sub FilterDir
-{
-  my ($iDir,$iExclude,$iInclude) = @_;
-
-  my (@iFileList, @iFinalFileList);
-  my ($iExcludeCount, $iIncludeCount);
-
-  # Produce full filelist listing without directory names
-  # Remove the specified directory path from the front of the filename
-  find sub {
-    if (!-d)
-    {
-      my $filepath = $File::Find::name;
-      $filepath=~ s#^$iDir/##i;
-      push @iFileList, $filepath;
-    }
-    }, $iDir;
-  
-  #Calculate the number of regex includes and excludes to optimise the filtering
-  if (defined $iExclude){
-    $iExcludeCount = scalar(@$iExclude);
-  } else {
-    $iExcludeCount = 0;
-  }
-
-  if (defined $iInclude){
-    $iIncludeCount = scalar(@$iInclude);
-  } else {
-    $iIncludeCount = 0;
-  }
-
-  # return unmodified list of files if there are no regexs to fitler it by
-  return \@iFileList if (($iExcludeCount == 0) && ($iIncludeCount == 0));
-
-  foreach my $iFile ( @iFileList)
-  {
-    my $iExcludeFile = 0;
-
-    # Process all Exclude RegEx to see if this file matches
-    foreach my $iExcludeRegEx (@$iExclude)
-    {
-      if ($iFile =~ /$iExcludeRegEx/i)
-      {
-        # Mark this file to be excluded from the final list
-        $iExcludeFile = 1;
-      }
-    }
-
-    # Process all Include RegEx to see if this file matches
-    foreach my $iIncludeRegEx (@$iInclude)
-    {
-      if ($iFile =~ /$iIncludeRegEx/i)
-      {
-        # Mark this file to be Included in the final list
-        $iExcludeFile = 0;
-      }
-    }
-
-    # Added the file to the final list based on the flag
-    push @iFinalFileList, $iFile unless $iExcludeFile;
-  }
-
-  return \@iFinalFileList;
-
-}
-
-# CopyFiles
-#
-# Inputs
-# $iSource - Directory to copy from
-# $iTarget - Directory to copy to
-# $iCopyFiles - Reference to an array of relative filenames to copy
-#
-# Outputs
-#
-# Description
-# This function copies files from one dir to another
-
-sub CopyFiles
-{
-  my ($iSource, $iTarget, $iCopyFiles, $iVerbose, $iNoAction) = @_;
-
-  print "No Copy specified, would have performed:-\n" if (defined $iNoAction);
-
-  #Loop through the list of files
-  my ($j);
-  for($j = 0; $j < scalar(@$iCopyFiles); $j++)
-  {
-    my ($iFile) = $$iCopyFiles[$j];
-    #Check if the to final directory exists, if not create it
-    my ($iDir) = $iFile =~ m#(.*)/.*#;
-
-    if (defined $iVerbose)
-    {
-      print $iSource."/".$iFile." => ".$iTarget."/".$iFile."\n";
-    }
-
-    if (!defined $iNoAction)
-    {
-      if (!-d $iTarget."/".$iDir)
-      {
-        mkpath ($iTarget."/".$iDir) || die "ERROR: Cannot create ".$iTarget."/".$iDir;
-      }
-      copy($iSource."/".$iFile,$iTarget."/".$iFile) || die "ERROR: Failed to copy ".$iSource."/".$iFile." to ".$iTarget."/".$iFile." $!";
-    }
-  }
-
-  print "$j files processed\n";
-}
-
-1;