releaseAutomation/packageComparison.pl
author Dario Sestito <darios@symbian.org>
Tue, 29 Jun 2010 11:58:24 +0100
changeset 295 a215187752cf
parent 110 718b119bed63
permissions -rw-r--r--
Allow shell wildcards in input file names
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     1
#!perl -w
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     2
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     3
# Copyright (c) 2009 Symbian Foundation Ltd
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     4
# This component and the accompanying materials are made available
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     5
# under the terms of the License "Eclipse Public License v1.0"
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     6
# which accompanies this distribution, and is available
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     8
#
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
     9
# Initial Contributors:
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    10
# Symbian Foundation Ltd - initial contribution.
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    11
# 
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    12
# Contributors:
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    13
#
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    14
# Description:
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    15
# Automates the creation of part of the PDK Release Notes: "Mercurial Comparison with PDK XXXXX"
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    16
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    17
use strict;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    18
use XML::Parser;
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    19
use Getopt::Long;
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    20
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    21
my $sourcesCsv;		# sources.csv file for this build
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    22
my @sysDef;		# system definition files to look in for this build
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    23
my $previousPdkLabel;	# hg tag to compare against
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    24
my $prevSourcesCsv;	# sources.csv file for baseline build, if different to this build
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    25
my $prevSysDef;		# system definition file for baseline build, if different to this build
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    26
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    27
GetOptions((
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    28
	'sources=s' => \$sourcesCsv,
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    29
	'sysdef=s' => \@sysDef,
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    30
	'baseline=s' => \$previousPdkLabel,
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    31
	'prevSources=s' => \$prevSourcesCsv,
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    32
	'prevSysdef=s' => \$prevSysDef,
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    33
));
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    34
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    35
if (!$sourcesCsv || !@sysDef || !$previousPdkLabel)
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    36
{
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    37
	warn "Necessary argument(s) not supplied\n\n";
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    38
	usage();
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    39
	exit (1);
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    40
}
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    41
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    42
if (@ARGV)
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    43
{
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    44
	warn "Don't know what to do with these arguments: @ARGV\n\n";
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    45
	usage();
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    46
	exit (1);
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    47
}
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    48
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    49
$prevSourcesCsv ||= $sourcesCsv;
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    50
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    51
my $packages = { current => {}, previous => {} };
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    52
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    53
# Load current manifest
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    54
open(my $manifest, "<", $sourcesCsv) or die "Unable to open $sourcesCsv";
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    55
my @manifest = <$manifest>;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    56
close $manifest;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    57
populate($packages->{current}, @manifest);
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    58
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    59
# Load prev manifest
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
    60
@manifest = `hg cat -r $previousPdkLabel $prevSourcesCsv`;
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    61
populate($packages->{previous}, @manifest);
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    62
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    63
my $xml = XML::Parser->new(Style => "Objects") or die;
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    64
foreach my $sysDef (@sysDef)
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    65
{
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    66
	# Load current names from current system definition (fails silently)
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    67
	eval { populateNames($packages->{current}, $xml->parsefile($sysDef) ) };
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    68
	# Load previous names from current system definition at earlier revision (fails silently)
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    69
	eval { populateNames($packages->{previous}, $xml->parsestring(scalar `hg cat -r $previousPdkLabel $sysDef 2> nul:`) ) };
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    70
}
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    71
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    72
# Load previous names from previous system definition, if supplied
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
    73
populateNames($packages->{previous}, $xml->parsestring(scalar `hg cat -r $previousPdkLabel $prevSysDef`) ) if $prevSysDef;
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    74
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    75
# Output release note info...
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    76
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    77
my $currPackageCount = scalar keys %{$packages->{current}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    78
my $prevPackageCount = scalar keys %{$packages->{previous}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    79
print <<EOT;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    80
== Packages ==
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    81
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    82
This section provides general information on the packages included in this PDK release compared to '''$previousPdkLabel'''.
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    83
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    84
Number total of packages in this PDK release is: '''$currPackageCount'''
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    85
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    86
Number total of packages in $previousPdkLabel is: '''$prevPackageCount'''
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    87
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    88
EOT
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    89
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    90
my @addedPackages = sort { packageSort($packages->{current}) } grep { !exists $packages->{previous}->{$_} } keys %{$packages->{current}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    91
my $addedPackageCount = scalar @addedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    92
print <<EOT;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    93
=== Packages added ===
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    94
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    95
Number total of packages added is: '''$addedPackageCount'''
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    96
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    97
EOT
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    98
foreach (@addedPackages)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
    99
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   100
	print "==== $packages->{current}->{$_}->{name} ([$packages->{current}->{$_}->{url} $packages->{current}->{$_}->{path}]) ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   101
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   102
print "\n" if @addedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   103
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   104
my @removedPackages = sort { packageSort($packages->{previous}) } grep { !exists $packages->{current}->{$_} } keys %{$packages->{previous}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   105
my $removedPackageCount = scalar @removedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   106
print <<EOT;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   107
=== Packages removed ===
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   108
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   109
Number total of packages removed is: '''$removedPackageCount'''
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   110
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   111
EOT
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   112
foreach (@removedPackages)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   113
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   114
	print "==== $packages->{previous}->{$_}->{name} ([$packages->{previous}->{$_}->{url} $packages->{previous}->{$_}->{path}]) ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   115
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   116
print "\n" if @removedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   117
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   118
my @movedPackages = sort { packageSort($packages->{current}) } grep { inPrev($_) && $packages->{current}->{$_}->{path} ne $packages->{previous}->{$_}->{path} } keys %{$packages->{current}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   119
my $movedPackageCount = scalar @movedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   120
print <<EOT;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   121
=== Packages moved ===
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   122
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   123
Number total of packages moved is: '''$movedPackageCount'''
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   124
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   125
EOT
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   126
foreach (@movedPackages)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   127
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   128
	print "==== $packages->{current}->{$_}->{name} ([$packages->{previous}->{$_}->{url} $packages->{previous}->{$_}->{path}] to [$packages->{current}->{$_}->{url} $packages->{current}->{$_}->{path}]) ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   129
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   130
print "\n" if @movedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   131
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   132
my @openedPackages = sort { packageSort($packages->{current}) } grep { inPrev($_) && $packages->{current}->{$_}->{license} eq "oss" && $packages->{previous}->{$_}->{license} eq "sfl" } keys %{$packages->{current}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   133
my $openedPackageCount = scalar @openedPackages;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   134
if ($openedPackageCount)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   135
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   136
	print <<EOT;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   137
=== Packages newly released under a fully Open license ===
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   138
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   139
Number total of packages relicensed is: '''$openedPackageCount'''
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   140
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   141
EOT
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   142
	foreach (@openedPackages)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   143
	{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   144
		print "==== $packages->{current}->{$_}->{name} ([$packages->{current}->{$_}->{url} $packages->{current}->{$_}->{path}]) ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   145
	}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   146
	print "\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   147
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   148
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   149
print <<EOT;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   150
== FCLs ==
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   151
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   152
This PDK was built using the FCL versions of the packages listed below: for each one we list the changes in the FCL which are not in the MCL.
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   153
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   154
The previous PDK also involved some FCLs, so we indicate which problems are now fixed in the MCL, and which FCLs are new to this build.
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   155
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   156
Cloning the source from Mercurial is made more awkward by using a mixture of MCLs and FCLs, but we provide a tool to help - see [[How to build the Platform]] for details.
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   157
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   158
EOT
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   159
# Newly from FCL
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   160
foreach (sort { packageSort($packages->{current}) } grep { inPrev($_) && $packages->{previous}->{$_}->{codeline} eq "MCL" && $packages->{current}->{$_}->{codeline} eq "FCL" } keys %{$packages->{current}})
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   161
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   162
	print "==== $packages->{current}->{$_}->{name} ([$packages->{current}->{$_}->{url} $packages->{current}->{$_}->{path}]) -- NEW ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   163
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   164
# Still from FCL
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   165
foreach (sort { packageSort($packages->{current}) } grep {inPrev($_) && $packages->{previous}->{$_}->{codeline} eq "FCL" && $packages->{current}->{$_}->{codeline} eq "FCL"} keys %{$packages->{current}})
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   166
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   167
	print "==== $packages->{current}->{$_}->{name} ([$packages->{current}->{$_}->{url} $packages->{current}->{$_}->{path}]) ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   168
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   169
109
8d399d7a7b6b Tweak to avoid an abort if the system definition cannot be opened to obtain the package names.
Simon Howkins <simonh@symbian.org>
parents: 106
diff changeset
   170
print "\n=== FCLs used in $previousPdkLabel but no longer needed ===\n\n";
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   171
my @revertedToMCL = sort { packageSort($packages->{current}) } grep { inPrev($_) && $packages->{previous}->{$_}->{codeline} eq "FCL" && $packages->{current}->{$_}->{codeline} eq "MCL" } keys %{$packages->{current}};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   172
print "(none)\n" unless @revertedToMCL;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   173
foreach (@revertedToMCL)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   174
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   175
	print "==== $packages->{current}->{$_}->{name} ([$packages->{current}->{$_}->{url} $packages->{current}->{$_}->{path}]) ====\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   176
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   177
print "\n";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   178
exit(0);
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   179
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   180
sub populate
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   181
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   182
	my $hash = shift;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   183
	my @entries = @_;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   184
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   185
	# Discard the column headings
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   186
	shift @entries;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   187
	
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   188
	foreach my $entry (@entries)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   189
	{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   190
		chomp $entry;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   191
		my ($repo) = $entry =~ m{^(.*?),};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   192
		my ($packageId) = $repo =~ m{/(\w+)/?$};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   193
		my ($codeline) = $repo =~ m{/(MCL|FCL)/};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   194
		# Skip the RnD repos and other complications
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   195
		next unless $codeline;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   196
		my ($license, $path) = $repo =~ m{/([^/\\]*)/$codeline/(.+?)/?$};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   197
		my $url = "http://developer.symbian.org/$license/$codeline/$path";
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   198
		$hash->{$packageId} = {license => $license, codeline => $codeline, path => $path, name => "''$packageId''", url => $url, sortKey => lc $packageId};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   199
	}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   200
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   201
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   202
sub populateNames
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   203
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   204
	my $packages = shift;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   205
	my $itemsUnderThisElement = shift;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   206
	foreach (@$itemsUnderThisElement)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   207
	{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   208
		if (ref $_)
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   209
		{
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
   210
			if (ref $_ eq "main::block" || ref $_ eq "main::package" || ref $_ eq "main::module")
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   211
			{
110
718b119bed63 Enabled script to accept multiple system_definition inputs, to cope with the split build situation.
Simon Howkins <simonh@symbian.org>
parents: 109
diff changeset
   212
				if (exists $packages->{$_->{name}} && exists $_->{"long-name"})
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   213
				{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   214
					$packages->{$_->{name}}->{name} = $_->{"long-name"};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   215
					$packages->{$_->{name}}->{sortKey} = lc $_->{"long-name"};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   216
				}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   217
			}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   218
			else
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   219
			{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   220
				populateNames($packages, $_->{Kids});
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   221
			}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   222
		}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   223
	}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   224
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   225
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   226
sub inPrev
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   227
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   228
	my $id = shift;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   229
	exists $packages->{previous}->{$id};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   230
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   231
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   232
sub packageSort
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   233
{
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   234
	my $details = shift;
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   235
	$details->{$a}->{sortKey} cmp $details->{$b}->{sortKey};
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   236
}
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   237
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   238
sub usage
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   239
{
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   240
	warn <<EOT;
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   241
Generates release notes detail about packages and FCLs used.
105
1350a673dd5f Alternative script for generating release note information about package changes and FCL usage.
Simon Howkins <simonh@symbian.org>
parents:
diff changeset
   242
106
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   243
packageComparison.pl -sources=<SOURCES.CSV> -sysdef=<SYSTEM_DEFINITION.XML> -baseline=<PDK RELEASE LABEL> [-prevSources=<PREV SOURCES.CSV>] [-prevSysdef=<PREV>]
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   244
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   245
EOT
be1e3961af1c Updated to parse options in a more standard way, added new options to allow a different path to the sources/sysdef in the earlier release, and to provide a usage message.
Simon Howkins <simonh@symbian.org>
parents: 105
diff changeset
   246
}