releasing/cbrtools/perl/PushPullRel.pm
author Zheng Shen <zheng.shen@nokia.com>
Tue, 20 Jul 2010 15:02:28 +0800 (2010-07-20)
changeset 617 3a747a240983
parent 602 3145852acc89
permissions -rw-r--r--
ROM Tools 12.2.0.4 Postlinker 2.2.5 Revert package_definition.xml to changeset 360bd6b35136
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
602
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     1
#!perl
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     2
# Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     3
# All rights reserved.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     4
# This component and the accompanying materials are made available
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     5
# under the terms of the License "Eclipse Public License v1.0"
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     6
# which accompanies this distribution, and is available
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     8
# 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
     9
# Initial Contributors:
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    10
# Nokia Corporation - initial contribution.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    11
# 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    12
# Contributors:
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    13
# 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    14
# Description:
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    15
# PushPullRel - abstracts out common parts of PushEnv, PullEnv, PushRel, PullRel
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    16
#
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    17
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    18
package PushPullRel;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    19
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    20
use strict;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    21
use File::Copy;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    22
use IniData;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    23
use RelData;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    24
use PathData;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    25
use CommandController;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    26
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    27
sub new {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    28
  my $class = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    29
  my $localinidata = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    30
  my $foreigninifile = shift; # can be an ini file location or an IniData object
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    31
  my $pushing = shift; # flag, whether we're pushing a release or pulling it
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    32
  my $verbose = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    33
  my $force = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    34
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    35
  my $self = bless {}, (ref $class || $class);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    36
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    37
  $self->{localinidata} = $localinidata;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    38
  if (ref $foreigninifile) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    39
    $self->{foreigninidata} = $foreigninifile;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    40
  } else{ 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    41
    $self->{foreigninidata} = IniData->New($foreigninifile);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    42
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    43
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    44
  $self->{pushing} = $pushing || 0;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    45
  if ($self->{pushing}) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    46
    $self->{frominidata} = $self->{localinidata};
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    47
    $self->{toinidata} = $self->{foreigninidata};
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    48
  } else {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    49
    $self->{toinidata} = $self->{localinidata};
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    50
    $self->{frominidata} = $self->{foreigninidata};
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    51
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    52
  $self->{errors} = [];
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    53
  $self->{verbose} = $verbose;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    54
  $self->{force} = $force;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    55
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    56
  return $self;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    57
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    58
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    59
sub TransferRel {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    60
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    61
  my $thisComp = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    62
  my $thisVer = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    63
  eval {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    64
    my $toRelDir = $self->{toinidata}->PathData->LocalArchivePathForExistingOrNewComponent($thisComp, $thisVer);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    65
    my $fromRelDir = $self->{frominidata}->PathData->LocalArchivePathForExistingComponent($thisComp, $thisVer);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    66
    die "Error: Couldn't find component \"$thisComp\" \"$thisVer\"\n" unless defined $fromRelDir;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    67
    $self->PerformCopying($thisComp, $thisVer, $toRelDir, $fromRelDir);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    68
  };
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    69
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    70
  if ($@) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    71
    print "$@";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    72
    $self->_AddError($@);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    73
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    74
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    75
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    76
sub PerformCopying {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    77
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    78
  my $thisComp = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    79
  my $thisVer = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    80
  my $toRelDir = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    81
  my $fromRelDir = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    82
  
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    83
  if (-e $toRelDir and Utils::CrossCheckDirs($toRelDir, $fromRelDir)) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    84
    print "$thisComp $thisVer already present\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    85
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    86
  elsif (-e $toRelDir) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    87
    if ($self->{force}) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    88
      print "Overwriting \"$toRelDir\" with \"$fromRelDir\"...\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    89
      $self->_DoCopying($fromRelDir, $toRelDir);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    90
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    91
    else {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    92
      die "\"$toRelDir\" present, but doesn't match \"$fromRelDir\". Use -f to force copy.\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    93
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    94
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    95
  else {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    96
    # Directory not present, so create an copy release files.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    97
    print "Copying $thisComp $thisVer to \"$toRelDir\"...\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    98
    $self->_DoCopying($fromRelDir, $toRelDir);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
    99
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   100
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   101
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   102
sub TransferEnv {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   103
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   104
  my $comp = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   105
  my $ver = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   106
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   107
  my $relData = RelData->Open($self->{frominidata}, $comp, $ver, $self->{verbose});
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   108
  my $env = $relData->Environment();
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   109
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   110
  my @errors;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   111
  foreach my $thisComp (sort keys %{$env}) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   112
    my $thisVer = $env->{$thisComp};
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   113
    $self->TransferRel($thisComp, $thisVer);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   114
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   115
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   116
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   117
sub Errors {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   118
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   119
  return @{$self->{errors}} if wantarray;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   120
  return $self->{errors};
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   121
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   122
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   123
sub SummariseErrors {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   124
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   125
  my $copyRel = shift || 0;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   126
  
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   127
  my $errors = $self->Errors;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   128
  if ($#$errors >= 0) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   129
    print "\nSummary of errors:\n\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   130
    foreach my $thisError (@$errors) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   131
      print $thisError;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   132
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   133
    
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   134
    if($copyRel){
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   135
      print "\nError: Unable to copy release successfully\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   136
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   137
    else{
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   138
      print "\nError: Unable to push/pull release successfully\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   139
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   140
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   141
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   142
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   143
sub _DoCopying {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   144
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   145
  my $localRelDir = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   146
  my $externalRelDir = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   147
  die "Local release directory not provided" unless $localRelDir;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   148
  die "External release dir was undefined" unless defined $externalRelDir;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   149
  opendir(DIR, $localRelDir) or die "Error: Couldn't open directory \"$localRelDir\": $!\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   150
  Utils::MakeDir($externalRelDir);
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   151
  
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   152
  while (defined(my $file = readdir(DIR))) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   153
    next if ($file eq '.' or $file eq '..');
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   154
    my $localFile = "$localRelDir\\$file";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   155
    my $externalFile = "$externalRelDir\\$file";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   156
    if (-f $localFile) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   157
      if (-e "$externalRelDir\\$file" and $self->{force}) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   158
        if ($self->{verbose}) { print "\tMaking \"$externalRelDir\\$file\" writable...\n"; }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   159
        Utils::SetFileWritable("$externalRelDir\\$file");
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   160
      }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   161
      elsif (-e "$externalRelDir\\$file") {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   162
        die;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   163
      }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   164
      if ($self->{verbose}) { print "\tCopying \"$localFile\" to \"$externalRelDir\"...\n"; }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   165
      
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   166
      unless (copy ($localFile, $externalFile)){
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   167
         my $errormessage = $!;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   168
         
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   169
         if($errormessage =~ /No such file or directory/i) {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   170
           $errormessage = "Unknown Error - Check disk space or missing file/directory";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   171
         }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   172
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   173
         die "Error: Couldn't copy \"$localFile\" to \"$externalFile\": $errormessage";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   174
      }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   175
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   176
    else {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   177
      die "Error: \"$file\" is not a file\n";
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   178
    }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   179
  }
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   180
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   181
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   182
sub _AddError {
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   183
  my $self = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   184
  my $error = shift;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   185
  push @{$self->{errors}}, $error;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   186
}
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   187
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   188
1;
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   189
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   190
__END__
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   191
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   192
=head1 NAME
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   193
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   194
PushPullRel.pm - class for moving releases between two local archives
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   195
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   196
=head1 DESCRIPTION
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   197
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   198
Provides an API to transfer releases between two local archives. (That is, non-encrypted archives,
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   199
accessible as standard disk drives from the PC). Used by C<pushenv>, C<pullenv>, C<pushrel>,
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   200
C<pullrel>.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   201
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   202
=head1 INTERFACE
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   203
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   204
=head2 new
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   205
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   206
Creates a new object of this class. Takes five parameters. 1) An IniData object corresponding
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   207
to your local repository. 2) A foreign IniData object (or just a filename) describing the 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   208
remote repository. 3) A boolean, saying whether you're pushing to the remote site. If false,
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   209
assumes you're pulling from the remote site. 4) Verbose. 5) Force (overwrites).
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   210
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   211
=head2 TransferRel
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   212
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   213
Takes a component name and version. Transfers that component.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   214
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   215
=head2 TransferEnv
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   216
   
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   217
Takes a component name and version. Transfers the environment of that component.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   218
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   219
=head2 PerformCopying
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   220
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   221
Takes a component name, version, to release and from release directory. Performs initial checks on the release directories passed and then calls _DoCopying.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   222
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   223
=head2 Errors
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   224
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   225
Returns an arrayref of all the errors encountered during TransferEnv.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   226
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   227
=head2 SummariseErrors
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   228
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   229
Optional input copyRel flag which indicates whether to this summary is for a copyrel or not. Prints all the errors encountered.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   230
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   231
=head1 KNOWN BUGS
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   232
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   233
None.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   234
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   235
=head1 COPYRIGHT
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   236
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   237
 Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   238
 All rights reserved.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   239
 This component and the accompanying materials are made available
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   240
 under the terms of the License "Eclipse Public License v1.0"
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   241
 which accompanies this distribution, and is available
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   242
 at the URL "http://www.eclipse.org/legal/epl-v10.html".
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   243
 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   244
 Initial Contributors:
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   245
 Nokia Corporation - initial contribution.
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   246
 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   247
 Contributors:
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   248
 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   249
 Description:
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   250
 
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   251
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   252
=cut
3145852acc89 add releasing to new structure
jjkang
parents:
diff changeset
   253