releaseAutomation/fcls4releasenotes.pl
author Simon Howkins <simonh@symbian.org>
Thu, 05 Nov 2009 12:27:15 +0000
changeset 98 9edb472725a0
parent 91 62971d19bb33
child 99 5adea361d896
permissions -rw-r--r--
Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     1
# Copyright (c) 2009 Symbian Foundation Ltd
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     2
# This component and the accompanying materials are made available
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     3
# under the terms of the License "Eclipse Public License v1.0"
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     4
# which accompanies this distribution, and is available
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     5
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     6
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     7
# Initial Contributors:
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     8
# Symbian Foundation Ltd - initial contribution.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
     9
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    10
# Contributors:
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    11
# Arnaud Lenoir
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    12
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    13
# Description:
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    14
# Task 243 - Generate FCLs details between 2 PDKs to be included as part of the release notes
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    15
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    16
# Here is the location for the naming convention for the PDKs: http://developer.symbian.org/wiki/index.php/Build_and_Integration
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    17
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    18
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    19
# Configuration data and constants for the script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    20
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    21
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    22
my $default_pdk_loc='\\\\bishare\\releases\\';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    23
print "default_pdk_loc=$default_pdk_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    24
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    25
# Nb of arguments to be passed to the script to work. If that need to change, just modify nb_arg_to_pass!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    26
my $nb_arg_to_pass=2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    27
print "nb_arg_to_pass=$nb_arg_to_pass\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    28
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    29
# Name of the file that contains the data we need to extract for this script
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    30
my $build_bom_zip_file_to_extract="build_BOM\.zip";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    31
my $build_logs_zip_file_to_extract="build_logs\.zip";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    32
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    33
# Name of the file we need to work on to extract the data necessary for the Release Notes from build_BOM.zip
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    34
my $name_of_file_to_compare="build-info\.xml";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    35
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    36
# File used to extract path and component name for a package from build_logs.zip
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
    37
my $pckg_extraction_data_file_name = "PkgComponentAnalysisSummary.csv";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    38
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    39
# When using the script as part of the build system, we don't have access to the zip files yet, therefore we need to have a look for the file directly
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    40
# This is working only when using pdkloc2 only. In any other cases we are not bothered!!!!!
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    41
my $bom_dir="BOM";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    42
my $analysis_dir="analysis";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    43
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    44
# Pattern used to search for PDKs
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    45
my $pdk_start_pattern="PDK_";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    46
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    47
# Pattern used to extract info from the xml file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    48
my $starting_pattern_for_xml_extraction="<name>Sources</name>";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    49
my $ending_pattern_for_xml_extraction="</project>";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    50
# Pattern to extract data from the line in the file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    51
# Branch type. If not a branch type, we are not interested
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    52
my $branch_type_extraction_pattern="(MCL|FCL)";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    53
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    54
my $mcl_cste="MCL";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    55
my $fcl_cste="FCL";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    56
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    57
# package name
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    58
#/imgeditor/#:86a88f39b644</baseline>
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    59
# # is used to define the changeset number for mercurial.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    60
# Therefore if we have a look what is before "/#", we should always find the package name!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    61
my $package_extraction_pattern = "([^/]+)/?#";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    62
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    63
# When that "boolean value is set to 1 or true, then the line we read in the file can be search for the information we want to extract
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    64
# If $starting_pattern_for_xml_extraction true, then set extraction_from_xml_is_allowed to true/1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    65
# If $ending_pattern_for_xml_extraction false, then reset extraction_from_xml_is_allowed to false/0
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    66
# $ending_pattern_for_xml_extraction is called several times in the program, but this is not a problem as we don't set it to false/0 and therefore do nothing!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    67
my $extraction_from_xml_is_allowed=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    68
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    69
# Temporary location used to do the work
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    70
my $working_drive="c:";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    71
my $working_directory="temp";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    72
my $working_sub_directory="fcl_extraction";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    73
my $working_pdk1_directory="pdk1";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    74
my $working_pdk2_directory="pdk2";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    75
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    76
# Name of the file that we are creating to hold the information necessary for the Release Notes
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
    77
my $name_of_file_to_publish="releaseNotes.wiki.txt";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    78
#Location for that file
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    79
# This values need to be overwritten!!!
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    80
my $location_of_file_to_publish="c:\\temp";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    81
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    82
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    83
# End configuration data for the script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    84
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    85
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    86
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    87
# Get parameters passed to the script. Save only the 2 first parameters as we need only 2 parameters for the script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    88
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    89
my $nb_arg_passed = scalar(@ARGV);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    90
print "nb_arg_passed=$nb_arg_passed\n"; # Find out the number of arguement passed
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    91
print "@ARGV\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    92
# Needs to be done here, otherwise lost if try to recover them later on. Why?
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    93
my $arg1_passed = $ARGV[0];
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    94
my $arg2_passed = $ARGV[1];
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    95
print "arg1_passed= $arg1_passed \t arg2_passed=$arg2_passed\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    96
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    97
# if enter help as unique argument, then we will launch the help becaue we only pass one argument.
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    98
if ($nb_arg_passed != $nb_arg_to_pass)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    99
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   100
	helpme();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   101
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   102
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   103
# Modules necessary to run this script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   104
use Getopt::Long;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   105
use strict;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   106
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   107
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   108
# Arguments / Data used for the script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   109
my $pdknb1 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   110
my $pdknb2 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   111
my $pdkloc1 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   112
my $pdkloc2 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   113
my $pdkname1 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   114
my $pdkname2 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   115
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   116
my $help = 0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   117
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   118
GetOptions((
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   119
	'pdknb1=s' => \$pdknb1,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   120
	'pdknb2=s' => \$pdknb2,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   121
	'pdkname1=s' => \$pdkname1,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   122
	'pdkname2=s' => \$pdkname2,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   123
	'pdkloc1=s' => \$pdkloc1,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   124
	'pdkloc2=s' => \$pdkloc2,
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   125
	'help!' => \$help	# Not working
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   126
));
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   127
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   128
print "pdknb1=$pdknb1\n";
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   129
print "pdknb2=$pdknb2\n";
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   130
print "pdkname1=$pdkname1\n";
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   131
print "pdkname2=$pdkname2\n";
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   132
print "pdkloc1=$pdkloc1\n";
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   133
print "pdkloc2=$pdkloc2\n";
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   134
print "help=$help\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   135
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   136
my $count_arg=0; # Caculate the number of arguments we need for the script to work and that we know are correct (help doesn't count)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   137
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   138
# First PDK to check
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   139
my $pdk_path1="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   140
my $pdk_complete_name1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   141
my $pdk_complete_path1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   142
my $pdk_path1_now_in_use=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   143
my $pdk_values_to_search1=""; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   144
my $pdk_path1_exist=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   145
my $pdk_zip1_exit=0; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   146
my $pdk1_correct_name_to_use="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   147
my $loc1_contains_the_zip_file_we_need=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   148
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   149
# Second PDK to check
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   150
my $pdk_path2="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   151
my $pdk_complete_name2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   152
my $pdk_complete_path2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   153
my $pdk_path2_now_in_use=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   154
my $pdk_values_to_search2=""; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   155
my $pdk_path2_exist=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   156
my $pdk_zip2_exist=0; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   157
my $pdk2_correct_name_to_use="";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   158
my $loc2_contains_the_zip_file_we_need=0;		# Used to indicate that we have found the build_BOM.zip file
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   159
my $loc2_contains_the_xml_csv_files_we_need=0;	# Used to indicate that we have found the build-info.xml and PkgComponentAnalysisSummary.csv
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   160
my $nb_of_xml_csv_files_we_need=2;	# Used to define the number of files we need to have a look at when we are not looking for zip files.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   161
my $nb_of_zip_files_we_need=2;	# Used to define the number of files we need to have a look at when we are looking for zip files.
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   162
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   163
# Default directory management
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   164
my @directories_list_default_location=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   165
my $nb_dir_in_default_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   166
my @pdk_dir_list_in_default_location=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   167
my $nb_pdks_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   168
my @pdks_with_valid_zip_in_default_loc=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   169
my $nb_pdks_with_valid_zip_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   170
my @find_pdk_for_corresponding_nb1=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   171
my $nb_of_pdk_for_corresponding_nb1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   172
my @find_pdk_for_corresponding_nb2=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   173
my $nb_of_pdk_for_corresponding_nb2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   174
my @find_pdk_for_corresponding_name1=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   175
my $nb_of_pdk_for_corresponding_name1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   176
my @find_pdk_for_corresponding_name2=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   177
my $nb_of_pdk_for_corresponding_name2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   178
my @read_files_in_loc=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   179
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   180
# Data / statistics to be displayed in the release notes
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   181
# We consider that pdk1 is the old version and pdk2 is the new version.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   182
# Note that for the moment, the scripts is not able to make sure that the old version of the pdk is set as pdk1 and the new version of the pdk is set as pdk2!!!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   183
# Can be done for pdknb and pdkname but not for pdkloc as for the moment, no way to find out the pdk version from the build-info.xmL!!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   184
# Totals
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   185
my $total_packages_pdk1=0;		# Nb of packages included in the pdk1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   186
my $total_packages_pdk2=0;		# Nb of packages included in the pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   187
my $total_packages_added=0;		# Nb of packages added in the pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   188
my $total_packages_removed=0;	# Nb of packages removed from the pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   189
my $total_new_fcl=0;			# Nb of packages that are now on fcl in pdk2 (means were mcl in pdk1 and are now fcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   190
my $total_no_more_fcl=0;		# Nb of packages that are no more on fcl in pdk2 (means were fcl in pdk1 and are now mcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   191
my $total_still_fcl=0;			# Nb of packages that are still on fcl in pdk2 (means were fcl in pdk1 and are still fcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   192
my $total_very_good_mcl=0;		# Nb of packages that are very good on mcl in pdk1 and pdk2 (means were on mcl in pdk1 and are still mcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   193
# Tables
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   194
my @pdk1_sorting_table;			# Table for pdk1 that is used to sort out and compare the 2 pdks
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   195
my @pdk2_sorting_table;			# Table for pdk2 that is used to sort out and compare the 2 pdks
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   196
my @packages_added_table;		# Table that contains the packages that have been added to pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   197
my @packages_removed_table;		# Table that contains the packages that have been deleted from pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   198
my @new_fcl_table;				# Table containing the packages that are now on fcl in pdk2 (means were mcl in pdk1 and are now fcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   199
my @no_more_fcl_table;			# Table containing the packages that are no more on fcl in pdk2 (means were fcl in pdk1 and are now mcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   200
my @still_fcl_table;			# Table containing the packages that are still on fcl in pdk2 (means were fcl in pdk1 and are still fcl in pdk2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   201
my @very_good_mcl_table;		# Table containing the packages that are very good on mcl in pdk1 and pdk2 (means were on mcl in pdk1 and are still mcl in pdk2)
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   202
my %pckg_path_name_array;		# Table containing the path for each packages
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   203
my %pckg_name_array;			# Table containing the real meaning name for each packages, not the name of the package in the directory structure
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   204
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   205
# Check that we have only 2 values for the PDKs. If not 2, then not good!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   206
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   207
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   208
# Script code start here!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   209
if($pdknb1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   210
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   211
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   212
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   213
	# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   214
	$pdk_path1 = $default_pdk_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   215
	$pdk_complete_name1=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   216
	$pdk_complete_path1=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   217
	$pdk_path1_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   218
	$pdk_values_to_search1=$pdknb1; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   219
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   220
if($pdknb2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   221
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   222
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   223
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   224
	# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   225
	$pdk_path2 = $default_pdk_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   226
	$pdk_complete_name2=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   227
	$pdk_complete_path2=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   228
	$pdk_path2_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   229
	$pdk_values_to_search2=$pdknb2; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   230
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   231
if($pdkname1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   232
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   233
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   234
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   235
	if(!$pdk_path1_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   236
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   237
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   238
		$pdk_path1 = $default_pdk_loc;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   239
		$pdk_complete_path1=1;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   240
		$pdk_path1_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   241
		$pdk_values_to_search1=$pdkname1; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   242
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   243
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   244
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   245
		print "You are a bad boy!!!!, you can't enter 2 parameters ending with the same number like pdknb1 and pdkname1! Start again with the right parameters!\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   246
		exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   247
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   248
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   249
if($pdkname2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   250
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   251
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   252
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   253
	if(!$pdk_path2_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   254
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   255
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   256
		$pdk_path2 = $default_pdk_loc;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   257
		$pdk_complete_path2=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   258
		$pdk_path2_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   259
		$pdk_values_to_search2=$pdkname2; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   260
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   261
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   262
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   263
		print "You are a bad boy!!!!, you can't enter 2 parameters ending with the same number like pdknb2 and pdkname2! Start again with the right parameters!\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   264
		exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   265
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   266
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   267
if($pdkloc1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   268
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   269
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   270
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   271
	if(!$pdk_path1_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   272
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   273
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   274
		$pdk_path1 = $pdkloc1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   275
		$pdk_path1_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   276
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   277
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   278
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   279
		print "You are a bad boy!!!!, you can't enter 2 parameters ending with the same number like pdknb1 and pdkloc1! Start again with the right parameters!\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   280
		exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   281
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   282
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   283
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   284
if($pdkloc2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   285
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   286
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   287
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   288
	if(!$pdk_path2_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   289
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   290
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   291
		$pdk_path2 = $pdkloc2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   292
		$pdk_path2_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   293
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   294
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   295
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   296
		print "You are a bad boy!!!!, you can't enter 2 parameters ending with the same number like pdknb2 and pdkloc2! Start again with the right parameters!\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   297
		exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   298
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   299
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   300
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   301
print "count_arg=$count_arg\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   302
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   303
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   304
# If no parameters entered or help selected, display help
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   305
if ($count_arg != $nb_arg_to_pass)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   306
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   307
	#$help = 1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   308
	helpme();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   309
	print"\nThe script accepts $nb_arg_to_pass parameters only!\n\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   310
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   311
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   312
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   313
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   314
# If we reach this point, this means that we have the right numbers of arguments passed to the script.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   315
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   316
print "\nWe are on the right path!!!!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   317
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   318
print "pdk_path1=$pdk_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   319
print "pdk_complete_name1=$pdk_complete_name1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   320
print "pdk_complete_path1=$pdk_complete_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   321
print "pdk_values_to_search1=$pdk_values_to_search1\n"; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   322
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   323
print "pdk_path2=$pdk_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   324
print "pdk_complete_name2=$pdk_complete_name2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   325
print "pdk_complete_path2=$pdk_complete_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   326
print "pdk_values_to_search2=$pdk_values_to_search2\n"; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   327
print "\n\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   328
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   329
# Get directory listing of all directories in the default location $default_pdk_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   330
extract_dir_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   331
extract_pdk_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   332
extract_pdk_with_valid_zip_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   333
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   334
# Compose path if necessary.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   335
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   336
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   337
my $find_val=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   338
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   339
if ($pdk_complete_path1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   340
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   341
	if ($pdk_complete_name1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   342
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   343
		print "We have the PDK number, we need to define if possible the PDK name and therefore the path to the PDK\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   344
		# Have a look in the default directory if there is a PDK with that number. If none or more than one with the same id, returns the list of PDKs with that same number
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   345
		foreach $find_val (@pdks_with_valid_zip_in_default_loc)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   346
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   347
			if($find_val =~ /$pdknb1/i)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   348
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   349
				$find_pdk_for_corresponding_nb1[$nb_of_pdk_for_corresponding_nb1++]=$find_val;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   350
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   351
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   352
		print "Table find_pdk_for_corresponding_nb1 is:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   353
		display_array_one_line_at_the_time(@find_pdk_for_corresponding_nb1);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   354
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   355
		if($nb_of_pdk_for_corresponding_nb1==1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   356
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   357
			print "There is only $nb_of_pdk_for_corresponding_nb1 PDK with the name corresponding to the PDK number given, we can keep going!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   358
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   359
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   360
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   361
			print "There is $nb_of_pdk_for_corresponding_nb1 PDKs with the same name, please select one in the list above and run the perl script again with the right PDK name\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   362
			exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   363
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   364
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   365
		#extract PDK name if only one
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   366
		$pdk1_correct_name_to_use = $find_pdk_for_corresponding_nb1[0];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   367
		$pdk_path1 .= $find_pdk_for_corresponding_nb1[0];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   368
		print "pdknb1 = $pdknb1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   369
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   370
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   371
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   372
		print "We have the PDK Name therefore we can define the path to the PDK\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   373
90
e45faf323a50 Correct problem with the name entered as parameter because it was exiting if 2 PDKs starting with the same name
Arnaud Lenoir
parents: 87
diff changeset
   374
		$pdk1_correct_name_to_use = $pdkname1;
e45faf323a50 Correct problem with the name entered as parameter because it was exiting if 2 PDKs starting with the same name
Arnaud Lenoir
parents: 87
diff changeset
   375
		$pdk_path1 .= $pdkname1;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   376
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   377
	print "The PDK used is: $pdk1_correct_name_to_use\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   378
	print "pdk_path1 = $pdk_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   379
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   380
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   381
$find_val=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   382
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   383
if ($pdk_complete_path2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   384
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   385
	if ($pdk_complete_name2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   386
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   387
		print "We have the PDK number, we need to define if possible the PDK name and therefore the path to the PDK\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   388
		# Have a look in the default directory if there is a PDK with that number. If none or more than one with the same id, returns the list of PDKs with that same number
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   389
		foreach $find_val (@pdks_with_valid_zip_in_default_loc)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   390
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   391
			#print $find_val, "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   392
			if($find_val =~ /$pdknb2/i)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   393
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   394
				$find_pdk_for_corresponding_nb2[$nb_of_pdk_for_corresponding_nb2++]=$find_val;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   395
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   396
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   397
		print "Table find_pdk_for_corresponding_nb is:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   398
		display_array_one_line_at_the_time(@find_pdk_for_corresponding_nb2);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   399
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   400
		if($nb_of_pdk_for_corresponding_nb2==1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   401
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   402
			print "There is only $nb_of_pdk_for_corresponding_nb2 PDK with the name corresponding to the PDK number given, we can keep going!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   403
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   404
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   405
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   406
			print "There is $nb_of_pdk_for_corresponding_nb2 PDKs with the same name, please select one in the list above and run the perl script again with the right PDK name\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   407
			exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   408
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   409
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   410
		#extract PDK name if only one
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   411
		$pdk2_correct_name_to_use = $find_pdk_for_corresponding_nb2[0];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   412
		$pdk_path2 .= $find_pdk_for_corresponding_nb2[0];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   413
		print "pdknb2 = $pdknb2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   414
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   415
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   416
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   417
		print "We have the PDK Name therefore we can define the path to the PDK\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   418
	
90
e45faf323a50 Correct problem with the name entered as parameter because it was exiting if 2 PDKs starting with the same name
Arnaud Lenoir
parents: 87
diff changeset
   419
		$pdk2_correct_name_to_use = $pdkname2;
e45faf323a50 Correct problem with the name entered as parameter because it was exiting if 2 PDKs starting with the same name
Arnaud Lenoir
parents: 87
diff changeset
   420
		$pdk_path2 .= $pdkname2;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   421
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   422
	print "The PDK used is: $pdk2_correct_name_to_use\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   423
	print "pdk_path2 = $pdk_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   424
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   425
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   426
# Find out if the locations are correct or not. We just need to make sure that the location contains the build_BOM.zip, if it's the case, then bingo! If not, exit the program.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   427
my $loc_var;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   428
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   429
if($pdkloc1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   430
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   431
	# Get the list of file in the location choosen.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   432
	opendir(LOC1_DIR, $pdkloc1);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   433
	@read_files_in_loc = readdir(LOC1_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   434
	close(LOC1_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   435
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   436
	foreach $loc_var (@read_files_in_loc)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   437
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   438
		if($loc_var =~ /$build_bom_zip_file_to_extract$/)
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   439
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   440
			print "We found the file: $loc_var\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   441
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   442
			$pdk1_correct_name_to_use = "PDK1";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   443
			$pdk_path1 = $pdkloc1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   444
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   445
			print "The PDK used is: $pdk1_correct_name_to_use\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   446
			print "pdk_path1 = $pdk_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   447
			$loc1_contains_the_zip_file_we_need=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   448
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   449
			# As we have found the file, we can probably break!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   450
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   451
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   452
	if(!$loc1_contains_the_zip_file_we_need)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   453
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   454
		print "We can't find the file $build_bom_zip_file_to_extract in the location $pdkloc2 and therefore we can't go any further!!\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   455
		exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   456
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   457
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   458
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   459
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   460
if($pdkloc2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   461
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   462
	# Have a look at the zip files in the location choosen.
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   463
	opendir(LOC2_DIR, $pdkloc2);
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   464
	@read_files_in_loc = readdir(LOC2_DIR);	# Need to have a look at the sub directories too!!!!!!
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   465
	close(LOC2_DIR);	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   466
	print "List of files in the directory: @read_files_in_loc\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   467
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   468
	foreach $loc_var (@read_files_in_loc)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   469
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   470
		# Have a look for build_bom.zip and build_logs.zip
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   471
		if( ($loc_var =~ /$build_bom_zip_file_to_extract$/) || ($loc_var =~ /$build_logs_zip_file_to_extract$/) )
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   472
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   473
			print "We found the file: $loc_var\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   474
			$loc2_contains_the_zip_file_we_need++;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   475
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   476
	}
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   477
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   478
	if(!$loc2_contains_the_zip_file_we_need) # If we have the zip file, no need to have a look for the csv and xml files!
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   479
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   480
		my $local_var_path;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   481
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   482
		print "We are checking for xml file\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   483
		$local_var_path = "$pdkloc2\\$bom_dir";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   484
		print "local_var_path = $local_var_path\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   485
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   486
		opendir(LOCBOM_DIR, $local_var_path);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   487
		@read_files_in_loc = readdir(LOCBOM_DIR);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   488
		close(LOCBOM_DIR);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   489
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   490
		print "List of files in the directory: @read_files_in_loc\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   491
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   492
		foreach $loc_var (@read_files_in_loc)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   493
		{			
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   494
			if($loc_var =~ /$name_of_file_to_compare$/)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   495
			{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   496
				print "We are in the case of the build and instead of looking for zip files, we need to have a look for $name_of_file_to_compare\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   497
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   498
				print "We found the file: $loc_var\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   499
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   500
				$loc2_contains_the_xml_csv_files_we_need++;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   501
			}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   502
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   503
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   504
		print "We are checking for csv file\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   505
		$local_var_path = "$pdkloc2\\$analysis_dir";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   506
		print "local_var_path = $local_var_path\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   507
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   508
		opendir(LOCANALYSIS_DIR, $local_var_path);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   509
		@read_files_in_loc = readdir(LOCANALYSIS_DIR);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   510
		close(LOCANALYSIS_DIR);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   511
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   512
		print "List of files in the directory: @read_files_in_loc\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   513
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   514
		foreach $loc_var (@read_files_in_loc)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   515
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   516
			if($loc_var =~ /$pckg_extraction_data_file_name$/)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   517
			{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   518
				print "We are in the case of the build and instead of looking for zip files, we need to have a look for $pckg_extraction_data_file_name\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   519
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   520
				print "We found the file: $loc_var\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   521
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   522
				$loc2_contains_the_xml_csv_files_we_need++;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   523
			}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   524
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   525
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   526
	if(($loc2_contains_the_zip_file_we_need==$nb_of_zip_files_we_need) || ($loc2_contains_the_xml_csv_files_we_need==$nb_of_xml_csv_files_we_need))
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   527
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   528
		$pdk2_correct_name_to_use = "PDK2";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   529
		$pdk_path2 = $pdkloc2;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   530
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   531
		print "The PDK used is: $pdk2_correct_name_to_use\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   532
		print "pdk_path2 = $pdk_path2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   533
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   534
		if($loc2_contains_the_xml_csv_files_we_need==$nb_of_xml_csv_files_we_need)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   535
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   536
			$location_of_file_to_publish=$pdkloc2;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   537
			print "location_of_file_to_publish=$location_of_file_to_publish\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   538
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   539
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   540
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   541
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   542
		if($loc2_contains_the_xml_csv_files_we_need<=$nb_of_xml_csv_files_we_need)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   543
		{
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   544
			print "We can't find the files $name_of_file_to_compare and/or $pckg_extraction_data_file_name in the location $pdkloc2 and therefore we can't go any further!!\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   545
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   546
		else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   547
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   548
			print "We can't find the files $build_bom_zip_file_to_extract in the location $pdkloc2 and therefore we can't go any further!!\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   549
		}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   550
		exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   551
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   552
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   553
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   554
print "\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   555
print "If we are here, this means that both $build_bom_zip_file_to_extract have been found and we can start the real work to compare the 2 files to extract what we need!\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   556
print "This is the value for the path we are looking at for pdk_path1: $pdk_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   557
print "This is the value for the path we are looking at for pdk_path2: $pdk_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   558
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   559
# When we are at this point, we know we have 2 build_BOM.zip files that we can compare them!!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   560
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   561
my $system_cmd = "";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   562
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   563
my $working_dir="$working_drive\\$working_directory\\$working_sub_directory";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   564
my $working_dir1="$working_drive\\$working_directory\\$working_sub_directory\\$working_pdk1_directory";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   565
my $working_dir2="$working_drive\\$working_directory\\$working_sub_directory\\$working_pdk2_directory";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   566
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   567
# 1st step is to extract the 2 zip files to allow us to have access to build-info.xml
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   568
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   569
# Extract just one file from the zip file using "7z e -r -oOutput_Directory"
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   570
#7z e -r build_BOM.zip build-info.xml
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   571
# Where 7z is the unzip program
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   572
# Where e is for extraction of a file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   573
# Where -r is for recursive to make sure we have a look in the subdirectories
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   574
# Where -oOutput_Directory is the directory where we want the files to be unzipped
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   575
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   576
# Where $working_sub_directory is the directory where we will be carry the work to be done for the script.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   577
# Where $working_pdk1_directory is the subdirectory destination for the PDK1
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   578
# Where $build_bom_zip_file_to_extract is the name of the zip file (in our case: build_BOM.zip)
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   579
# Where $pdk_path1 is the place where the zip file to unzip is
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   580
# where $name_of_file_to_compare is the name of the file we want to extract from the zip file (in our case: build-info.xml)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   581
# Example: 7z e -r -oc:\temp\fcl_extraction\pdk1 C:\temp\Task243Test\PDK_1\build_BOM.zip build-info.xml
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   582
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   583
# Extract file from 1st PDK
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   584
$system_cmd = "7z e -r -o$working_dir1 $pdk_path1\\$build_bom_zip_file_to_extract $name_of_file_to_compare";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   585
print "Exec: $system_cmd\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   586
system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   587
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   588
print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   589
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   590
# Extract the information contained in PkgComponentAnalysisSummary.csv for path a nd package name used by PDK1.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   591
$system_cmd = "7z e -r -o$working_dir1 $pdk_path1\\$build_logs_zip_file_to_extract $pckg_extraction_data_file_name";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   592
print "Exec: $system_cmd\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   593
system($system_cmd);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   594
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   595
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   596
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   597
# Extract file from 2nd PDK
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   598
if($loc2_contains_the_xml_csv_files_we_need==$nb_of_xml_csv_files_we_need)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   599
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   600
	my $local_file_path;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   601
	print "We are copying the files $name_of_file_to_compare and $pckg_extraction_data_file_name from $pdk_path2 to $working_dir2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   602
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   603
	print "Create directory $working_dir2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   604
	$system_cmd = "mkdir $working_dir2";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   605
	print "Exec: $system_cmd\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   606
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   607
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   608
	print "We are going to copy $name_of_file_to_compare to $working_dir2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   609
	$local_file_path = "$pdk_path2\\$bom_dir\\$name_of_file_to_compare";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   610
	$system_cmd = "xcopy $local_file_path $working_dir2 \/F";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   611
	print "Exec: $system_cmd\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   612
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   613
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   614
	print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   615
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   616
	# Extract the information contained in PkgComponentAnalysisSummary.csv for path and package name used by PDK1.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   617
	print "We are going to copy $pckg_extraction_data_file_name to $working_dir2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   618
	$local_file_path = "$pdk_path2\\$analysis_dir\\$pckg_extraction_data_file_name";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   619
	$system_cmd = "xcopy $local_file_path $working_dir2 \/F";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   620
	print "Exec: $system_cmd\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   621
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   622
}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   623
else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   624
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   625
	print "We are looking for zip files, then we extract them\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   626
	$system_cmd = "7z e -r -o$working_dir2 $pdk_path2\\$build_bom_zip_file_to_extract $name_of_file_to_compare";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   627
	print "Exec: $system_cmd\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   628
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   629
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   630
	print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   631
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   632
	# Extract the information contained in PkgComponentAnalysisSummary.csv for path and package name used by PDK1.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   633
	$system_cmd = "7z e -r -o$working_dir2 $pdk_path2\\$build_logs_zip_file_to_extract $pckg_extraction_data_file_name";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   634
	print "Exec: $system_cmd\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   635
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   636
}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   637
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   638
# 2nd step is to extract the information we need from the 2 files build-info.xml
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   639
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   640
# Create 2 hash arrays that will contain the name of the package as key and the value associated as MCL or FCL
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   641
my %build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   642
my %build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   643
my @sorting_build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   644
my @sorting_build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   645
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   646
my $key;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   647
# Define the path for the files to work on
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   648
my $path_to_pdk1_file_to_work_on="$working_dir1\\$name_of_file_to_compare";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   649
my $path_to_pdk2_file_to_work_on="$working_dir2\\$name_of_file_to_compare";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   650
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   651
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   652
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   653
my $count_packages=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   654
my @not_sorted_table;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   655
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   656
# Keep only what we need and keep it safe somewhere.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   657
# pdk1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   658
%build_info_xml1 = extract_packages_and_branch_type_from_file($path_to_pdk1_file_to_work_on);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   659
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   660
print "%build_info_xml1:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   661
# Define the number of packages for pdk1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   662
$total_packages_pdk1 = keys %build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   663
print "\nThere is $total_packages_pdk1 packages for $pdk1_correct_name_to_use\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   664
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   665
# 3rd a) step is to sort out the 2 files / table
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   666
# Sort out the tables to facilitate the checking of the different packages
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   667
@not_sorted_table = keys %build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   668
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   669
# ascendant alphabetical sort
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   670
@pdk1_sorting_table = sort { lc($a) cmp lc($b) } @not_sorted_table;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   671
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   672
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   673
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   674
# pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   675
%build_info_xml2 = extract_packages_and_branch_type_from_file($path_to_pdk2_file_to_work_on);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   676
print "%build_info_xml2:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   677
# Define the number of packages for pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   678
$total_packages_pdk2 = keys %build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   679
print "\nThere is $total_packages_pdk2 packages for $pdk2_correct_name_to_use\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   680
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   681
# 3rd b) step is to sort out the 2 files / table
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   682
# Sort out the tables to facilitate the checking of the different packages
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   683
@not_sorted_table = keys %build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   684
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   685
# ascendant alphabetical sort
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   686
@pdk2_sorting_table = sort { lc($a) cmp lc($b) } @not_sorted_table;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   687
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   688
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   689
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   690
# 4th step is to compare both data and export it to a file or something similar that is good for media wiki.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   691
# Compare both files to find out the difference between each packages FCL, MCL, added or deleted packages
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   692
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   693
my $tab_counter1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   694
my $tab_counter2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   695
my $compare_2_tables;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   696
my $value_package_pdk1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   697
my $value_package_pdk2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   698
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   699
while (($tab_counter1 < $total_packages_pdk1) && ($tab_counter2 < $total_packages_pdk2)) # or should it be ||
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   700
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   701
	# $a cmp $b
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   702
	# if $a > $b value returned is 1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   703
	# if $a = $b value returned is 0
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   704
	# if $a < $b value returned is -1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   705
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   706
	$compare_2_tables = ( $pdk1_sorting_table[$tab_counter1] cmp $pdk2_sorting_table[$tab_counter2] );
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   707
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   708
	if(!$compare_2_tables)	# Compare if the the packages in the tables(index) are the same or not, if $compare_2_tables=0, then equal
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   709
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   710
		$value_package_pdk1 = $build_info_xml1{$pdk1_sorting_table[$tab_counter1]};
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   711
		$value_package_pdk2 = $build_info_xml2{$pdk2_sorting_table[$tab_counter2]};
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   712
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   713
		if(($value_package_pdk1 eq $mcl_cste) && ($value_package_pdk2 eq $fcl_cste))
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   714
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   715
			$new_fcl_table[$total_new_fcl++] = $pdk1_sorting_table[$tab_counter1];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   716
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   717
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   718
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   719
			if(($value_package_pdk1 eq $fcl_cste) && ($value_package_pdk2 eq $mcl_cste))
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   720
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   721
				$no_more_fcl_table[$total_no_more_fcl++] = $pdk1_sorting_table[$tab_counter1];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   722
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   723
			else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   724
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   725
				if(($value_package_pdk1 eq $fcl_cste) && ($value_package_pdk2 eq $fcl_cste))
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   726
				{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   727
					$still_fcl_table[$total_still_fcl++] = $pdk1_sorting_table[$tab_counter1];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   728
				}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   729
				else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   730
				{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   731
					#print "the package was MCL and is still MCL - VERY GOOD\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   732
					$very_good_mcl_table[$total_very_good_mcl++] = $pdk1_sorting_table[$tab_counter1];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   733
				}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   734
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   735
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   736
		$tab_counter1++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   737
		$tab_counter2++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   738
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   739
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   740
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   741
		# The values are not the same, therefore it must be an added or deleted package
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   742
		if($compare_2_tables<0)	# If $compare_2_tables=-1, then pdk1 is smaller than pdk2, which means that it has been deleted from pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   743
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   744
			$packages_removed_table[$total_packages_removed++]=$pdk1_sorting_table[$tab_counter1++];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   745
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   746
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   747
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   748
			# If $compare_2_tables=1, then pdk1 is bigger than pdk2, which means that it has been added to pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   749
			$packages_added_table[$total_packages_added++]=$pdk2_sorting_table[$tab_counter2++];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   750
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   751
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   752
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   753
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   754
# Build list of files path and name based on csv file generated by the build system (analysis part)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   755
extract_package_detail("$working_dir2\\$pckg_extraction_data_file_name");
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   756
extract_package_detail("$working_dir1\\$pckg_extraction_data_file_name");
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   757
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   758
print "\nPrint all the values related to our calculations\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   759
print "total_packages_pdk1=$total_packages_pdk1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   760
print "total_packages_pdk2=$total_packages_pdk2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   761
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   762
print "total_packages_added=$total_packages_added\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   763
print "total_packages_removed=$total_packages_removed\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   764
print "total_new_fcl=$total_new_fcl\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   765
print "total_no_more_fcl=$total_no_more_fcl\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   766
print "total_still_fcl=$total_still_fcl\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   767
print "total_very_good_mcl=$total_very_good_mcl\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   768
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   769
# Checking that the packages have been assigned properly.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   770
# !!!! Need to verify the formula. Not sure that is correct!!!!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   771
print "Verification for the total packages between the 2 pdks\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   772
print "Formula used is: total_packages_pdk2 = total_packages_pdk1 + total_packages_added - total_packages_removed\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   773
print "$total_packages_pdk2 = $total_packages_pdk1 + $total_packages_added - $total_packages_removed\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   774
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   775
print "Formula used is: total_packages_pdk1 = total_very_good_mcl + total_new_fcl + total_no_more_fcl + total_still_fcl= total\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   776
print "$total_packages_pdk1 = $total_very_good_mcl + $total_new_fcl + $total_no_more_fcl + $total_still_fcl = ", ($total_very_good_mcl + $total_new_fcl + $total_no_more_fcl + $total_still_fcl), "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   777
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   778
print "Formula used is: total_packages_pdk2 = total_very_good_mcl + total_new_fcl + total_no_more_fcl + total_still_fcl + total_packages_added = total\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   779
print "$total_packages_pdk2 = $total_very_good_mcl + $total_new_fcl + $total_no_more_fcl + $total_still_fcl + $total_packages_added - $total_packages_removed= ", ($total_very_good_mcl + $total_new_fcl + $total_no_more_fcl + $total_still_fcl + $total_packages_added - $total_packages_removed), "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   780
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   781
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   782
# 5th step is to create a txt file ready to be used for the release notes in a media wiki format.
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   783
my $path_to_file_to_publish="$location_of_file_to_publish/$name_of_file_to_publish";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   784
open(FCLCOMPARISONFILE, ">$path_to_file_to_publish");	# !!!!! First time we are accessing the file, therefore create it or replace it, AFTR THAT WE NEED TO APPEND IT ONLY!!!!!
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   785
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   786
my $val;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   787
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   788
# Enter the beginning of the section for general information about the pdk and it's predecessor.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   789
print FCLCOMPARISONFILE <<"EOT";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   790
== Packages ==
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   791
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   792
This section is about general information on the packages included in the platform.
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   793
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   794
This is an analysis between '''$pdk2_correct_name_to_use''' and '''$pdk1_correct_name_to_use'''
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   795
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   796
EOT
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   797
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   798
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   799
print FCLCOMPARISONFILE "Number total of packages in $pdk1_correct_name_to_use is: '''$total_packages_pdk1'''\n\n";
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   800
print FCLCOMPARISONFILE "Number total of packages in $pdk2_correct_name_to_use is: '''$total_packages_pdk2'''\n\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   801
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   802
print FCLCOMPARISONFILE "=== Packages added ===\n\n";
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   803
print FCLCOMPARISONFILE "Number total of packages added in $pdk2_correct_name_to_use is: '''$total_packages_added'''\n\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   804
foreach $val (@packages_added_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   805
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   806
	if($pckg_name_array{$val})
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   807
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   808
		print FCLCOMPARISONFILE "''' $pckg_name_array{$val} ($pckg_path_name_array{$val}) '''\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   809
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   810
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   811
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   812
		print FCLCOMPARISONFILE "''' $val ($pckg_path_name_array{$val}) '''\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   813
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   814
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   815
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   816
print FCLCOMPARISONFILE "=== Packages removed ===\n\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   817
print FCLCOMPARISONFILE "''' Number total of packages removed in $pdk2_correct_name_to_use is: $total_packages_removed'''\n\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   818
foreach $val (@packages_removed_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   819
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   820
	if($pckg_name_array{$val})
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   821
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   822
		print FCLCOMPARISONFILE "''' $pckg_name_array{$val} ($pckg_path_name_array{$val}) '''\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   823
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   824
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   825
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   826
		print FCLCOMPARISONFILE "''' $val ($pckg_path_name_array{$val}) '''\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   827
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   828
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   829
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   830
# Enter the beginning of the section for the FCL
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   831
print FCLCOMPARISONFILE <<"EOT";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   832
== FCLs ==
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   833
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   834
'''$pdk2_correct_name_to_use''' 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.
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   835
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   836
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.
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   837
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
   838
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#Automatic Mercurial Clone]] for details.
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   839
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   840
EOT
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   841
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   842
# Packages that were on MCL and that are now on FCL
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   843
foreach $val (@new_fcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   844
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   845
	if($pckg_name_array{$val})
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   846
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   847
		print FCLCOMPARISONFILE "=== $pckg_name_array{$val} ($pckg_path_name_array{$val}) -- NEW ===\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   848
		# TO DO!!!!
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   849
		# Needs to be recovered from Mercurial. How????
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   850
		#[http://developer.symbian.org/bugs/show_bug.cgi?id=156 Bug 156]: Add a missing bld.inf, to renable compilation of the package
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   851
		#[http://developer.symbian.org/bugs/show_bug.cgi?id=197 Bug 197]: PSAlgorithmInternalCRKeys.h is missing
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   852
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   853
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   854
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   855
		print FCLCOMPARISONFILE "=== $val ($pckg_path_name_array{$val}) -- NEW ===\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   856
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   857
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   858
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   859
# Packages that were on FCL and that are now on FCL
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   860
foreach $val (@still_fcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   861
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   862
	if($pckg_name_array{$val})
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   863
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   864
		print FCLCOMPARISONFILE "=== $pckg_name_array{$val} ($pckg_path_name_array{$val}) ===\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   865
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   866
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   867
	{
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   868
		print FCLCOMPARISONFILE "=== $val ($pckg_path_name_array{$val}) ===\n\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   869
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   870
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   871
82
dbc58074ae06 Synchronised the output filename to match the other parts of the system generating release note content.
Simon Howkins <simonh@symbian.org>
parents: 81
diff changeset
   872
print FCLCOMPARISONFILE "=== FCLs used in $pdk1_correct_name_to_use but not needed in $pdk2_correct_name_to_use ===\n\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   873
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   874
foreach $val (@no_more_fcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   875
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   876
	if($pckg_name_array{$val})
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   877
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   878
		print FCLCOMPARISONFILE "''' $pckg_name_array{$val} ($pckg_path_name_array{$val}) '''\n\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   879
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   880
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   881
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   882
		print FCLCOMPARISONFILE "''' $val ($pckg_path_name_array{$val}) '''\n\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   883
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   884
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   885
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   886
close(FCLCOMPARISONFILE);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   887
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   888
print "\nYou will find the file with all the information you need for the releases note, here: $path_to_file_to_publish\n\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   889
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   890
# Cleanup the mess!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   891
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   892
$system_cmd = "rmdir /S /Q $working_dir";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   893
print "Exec: $system_cmd\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   894
system($system_cmd);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   895
90
e45faf323a50 Correct problem with the name entered as parameter because it was exiting if 2 PDKs starting with the same name
Arnaud Lenoir
parents: 87
diff changeset
   896
exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   897
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   898
# If no parameters entered or help selected, display help
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   899
sub helpme
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   900
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   901
	print "\nfct: helpme\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   902
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   903
	print "Generate FCLs details between 2 PDKs to be included as part of the release notes\n";	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   904
	print "Default location for PDKs is: $default_pdk_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   905
	print "Usage: perl fcls4releasenotes.pl --input_data1=x --input_data2=y\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   906
	print "Where input_data1 and input_data2 could be pdknb1 or pdknb2 or pdkloc1 or pdkloc2 or pdkname1 or pdkname2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   907
	print "Where pdknb is the PDK number, for example 2.0.e\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   908
	print "Where pdkloc is the root location where your file $build_bom_zip_file_to_extract is. For ex: \\\\bishare\\releases\\PDK_2.0.e\\ or c:\\temp\\myPDK\\\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   909
	print "Where pdkname is the full name of the PDK, like for ex PDK_candidate_2.0.d_flat\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   910
	print "\nNotes:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   911
	print "\tParameter names with 1 at the end (pdknb1, pdkname1, pdkloc1) are set for the oldest PDK to use (PDK1)\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   912
	print "\tParameter names with 2 at the end (pdknb2, pdkname2, pdkloc2) are set for the newest PDK to use (PDK2)\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   913
	print "\tIf you try to use for example pdknb2 and pdkname2 or pdkloc1 and pdknb1 the result is not guaranted to be correct!!!! as one will be set as PDK1 and the other as PDK2, but which order????\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   914
	print "\tThe difference is done as follow PDK2 - PDK1\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   915
	print "\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   916
	print "\nTypical command lines from script location:\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   917
	print "\t<perl fcls4releasenotes.pl --pdknb1=2.0.e --pdkloc2=c:\\temp\\myPDK\\>\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   918
	print "\t<perl fcls4releasenotes.pl --pdkname1=PDK_2.0.e --pdknb2=2.0.e>\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   919
	print "\t<perl fcls4releasenotes.pl --pdknb2=2.0.d --pdknb1=2.0.e>\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   920
	print "\t<perl fcls4releasenotes.pl help>\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   921
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   922
	list_pdks_at_default_location();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   923
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   924
	exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   925
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   926
# End section related to help
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   927
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   928
# Extract list of PDKs that are in the default location.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   929
sub list_pdks_at_default_location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   930
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   931
	print "\nfct: list_pdks_at_default_location\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   932
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   933
	# Do a dir of the default location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   934
	print "List of directories in the default location $default_pdk_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   935
	extract_dir_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   936
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   937
	# Extract all the PDKs that have the pattern PDK_
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   938
	print "All available PDKS in the default location $default_pdk_loc that have the pattern $pdk_start_pattern\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   939
	extract_pdk_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   940
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   941
	# Extract all the PDKs that have the file build_BOM.zip
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   942
	print "All available PDKS in the default location $default_pdk_loc that contains the zip file $build_bom_zip_file_to_extract\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   943
	extract_pdk_with_valid_zip_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   944
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   945
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   946
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   947
# Generates list of directories in the default location used for the storage of the PDKs
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   948
sub extract_dir_default_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   949
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   950
	print "\nfct: extract_dir_default_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   951
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   952
	# Get the list of directories in the default location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   953
	opendir(DEFAULT_DIR, $default_pdk_loc);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   954
	@directories_list_default_location = readdir(DEFAULT_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   955
	close(DEFAULT_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   956
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   957
	$nb_dir_in_default_loc = scalar(@directories_list_default_location);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   958
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   959
	print "nb_dir_in_default_loc=$nb_dir_in_default_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   960
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   961
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   962
# Establish the list of directories that are an actual PDK
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   963
sub extract_pdk_in_default_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   964
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   965
	print "\nfct: extract_pdk_in_default_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   966
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   967
	my $var;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   968
	$nb_pdks_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   969
	print "pdk_start_pattern = $pdk_start_pattern\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   970
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   971
	foreach $var (@directories_list_default_location)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   972
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   973
		if($var =~ /^$pdk_start_pattern+/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   974
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   975
			$pdk_dir_list_in_default_location[$nb_pdks_in_default_loc++] = $var;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   976
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   977
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   978
	print "There is $nb_pdks_in_default_loc PDKs in the default location $default_pdk_loc\n";	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   979
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   980
	print "This is the list of PDKs that are in the default location $default_pdk_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   981
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   982
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   983
# Establish the list of PDK directories with a valid zip file to do the test
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   984
sub extract_pdk_with_valid_zip_in_default_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   985
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   986
	print "\nfct: extract_pdk_with_valid_zip_in_default_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   987
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   988
	my $var1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   989
	my $var2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   990
	my $path_to_find_zip = "";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   991
	my @read_pdk_directory=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   992
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   993
	$nb_pdks_with_valid_zip_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   994
	
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   995
	print "build_bom_zip_file_to_extract=$build_bom_zip_file_to_extract\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   996
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   997
	foreach $var1 (@pdk_dir_list_in_default_location)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   998
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   999
		$path_to_find_zip=$default_pdk_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1000
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1001
		$path_to_find_zip .= $var1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1002
				
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1003
		# Get the list of directories in the default location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1004
		opendir(PDK_DIR, $path_to_find_zip);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1005
		@read_pdk_directory = readdir(PDK_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1006
		close(PDK_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1007
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1008
		foreach $var2 (@read_pdk_directory)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1009
		{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1010
			if($var2 =~ /$build_bom_zip_file_to_extract$/)
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1011
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1012
				$pdks_with_valid_zip_in_default_loc[$nb_pdks_with_valid_zip_in_default_loc++] = $var1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1013
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1014
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1015
	}
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1016
	print "There is $nb_pdks_with_valid_zip_in_default_loc PDKs with a valid $build_bom_zip_file_to_extract zip in the default location $default_pdk_loc\n";	
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1017
	
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1018
	print "This is the list of PDKs that have a zip file called $build_bom_zip_file_to_extract in the default location $default_pdk_loc\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1019
	display_array_one_line_at_the_time(@pdks_with_valid_zip_in_default_loc);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1020
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1021
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1022
# This function is used to extract the name of the package and the type
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1023
sub extract_packages_and_branch_type_from_file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1024
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1025
	# 1 Parameters passed, the path to the file to be viewed
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1026
	my ($file_to_work_on) = @_;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1027
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1028
	print "\nfct: extract_packages_and_branch_type_from_file\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1029
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1030
	print "$file_to_work_on\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1031
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1032
	my %local_hash_array;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1033
	my $local_key;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1034
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1035
	my $package="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1036
	my $type_of_branch="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1037
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1038
	# Open file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1039
	open(FILETOWORKON , $file_to_work_on);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1040
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1041
	# Extract data from file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1042
	my @local_array = <FILETOWORKON>;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1043
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1044
	# Close file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1045
	close(FILETOWORKON);
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1046
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1047
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1048
	my $extracted_line;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1049
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1050
	# Go line by line
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1051
	foreach  $extracted_line (@local_array)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1052
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1053
		if ($extracted_line =~ /$starting_pattern_for_xml_extraction/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1054
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1055
			$extraction_from_xml_is_allowed=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1056
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1057
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1058
		{
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
  1059
			if ($extracted_line =~ /$ending_pattern_for_xml_extraction/)
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1060
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1061
				$extraction_from_xml_is_allowed=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1062
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1063
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1064
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1065
		if($extraction_from_xml_is_allowed)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1066
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1067
			# Decode the line			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1068
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1069
			# Decode the branch type			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1070
			if($extracted_line =~ /$branch_type_extraction_pattern/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1071
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1072
				$type_of_branch=$1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1073
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1074
				# Decode the package because there is a branch type in the line extracted!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1075
				if ($extracted_line =~ m,$package_extraction_pattern,)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1076
				{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1077
					$package=$1;					
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1078
				}
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1079
				$local_hash_array{$package}=$type_of_branch;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1080
				
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1081
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1082
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1083
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1084
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1085
	# Return hash array containing all the packages and branch type associated
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1086
	return (%local_hash_array);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1087
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1088
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1089
# Function used to extract all the data from the csv file about the different packages (name, path and real name)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1090
sub extract_package_detail
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1091
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1092
	# 1 Parameters passed, the path to the file to be viewed
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1093
	my ($file_to_work_on) = @_;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1094
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1095
	print "\nfct: extract_package_detail\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1096
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1097
	print "$file_to_work_on\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1098
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1099
	my @local_array;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1100
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1101
	# Open file
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1102
	open(FILETOWORKON , $file_to_work_on);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1103
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1104
	# Extract data from file
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1105
	my @local_array = <FILETOWORKON>;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1106
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1107
	# Close file
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1108
	close(FILETOWORKON);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1109
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1110
	my $extracted_line;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1111
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1112
	# Create a table with the path for each package using a hash array
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1113
	my $pckg_name_extraction_pattern = "^sf\/[\\w]*\/([\\w]*)";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1114
	my $pckg_path_extraction_pattern = "^(sf[\W\w]*[^,]+),";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1115
	my $pckg_real_name_extraction_pattern = ",[\\s]+([\\w\\s]*),[\\s]+[\\w\\s]*\$";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1116
	my $pckg_name="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1117
	my $pckg_path="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1118
	my $pckg_real_name="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1119
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1120
	#Typical lines to decode
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1121
	#sf/app/helps,SFL,sf/app/helps/symhelp/helpmodel/group/bld.inf,OK, Help Apps, Help
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1122
	#sf/app/java,SFL,sf/app/java/java_plat/group/bld.inf,OK, , 
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1123
	#sf/app/helps,SFL,sf/app/helps/symhelp/helpmodel/group/bld.inf,OK, Help Apps, Help
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1124
	#sf/app/helps,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1125
	#SFL,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1126
	#sf/app/helps/symhelp/helpmodel/group/bld.inf,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1127
	#OK,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1128
	# Help Apps,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1129
	# Help
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1130
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1131
	#sf/app/java,SFL,sf/app/java/java_plat/group/bld.inf,OK, , 
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1132
	#sf/app/java,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1133
	#SFL,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1134
	#sf/app/java/java_plat/group/bld.inf,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1135
	#OK,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1136
	# ,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1137
	#
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1138
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1139
	# Go line by line
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1140
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1141
	foreach  $extracted_line (@local_array)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1142
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1143
		if($extracted_line =~ m;$pckg_name_extraction_pattern;)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1144
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1145
			$pckg_name = $1;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1146
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1147
			if(!$pckg_path_name_array{$pckg_name})	# Check if package is not already in the table to avoid duplicates
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1148
			{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1149
				if($extracted_line =~ m;$pckg_path_extraction_pattern;)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1150
				{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1151
					$pckg_path = $1;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1152
				}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1153
				if($extracted_line =~ m;$pckg_real_name_extraction_pattern;)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1154
				{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1155
					$pckg_real_name = $1;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1156
				}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1157
				# fill the tables
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1158
				$pckg_path_name_array{$pckg_name} = $pckg_path;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1159
				$pckg_name_array{$pckg_name} = $pckg_real_name;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1160
			}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1161
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1162
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1163
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1164
	my $local_value="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1165
	my @local_array_sorted;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1166
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1167
	@local_array=keys (%pckg_path_name_array);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1168
	@local_array_sorted = sort { lc($a) cmp lc($b) } @local_array;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1169
}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1170
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1171
# Function used to display one line at the time for an array				
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1172
sub display_array_one_line_at_the_time
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1173
{
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
  1174
	foreach (@_)
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1175
	{
98
9edb472725a0 Removed commented code, code which had no effect on the output, some unnecessary \s, and a couple of other basic simplifications.
Simon Howkins <simonh@symbian.org>
parents: 91
diff changeset
  1176
		print "$_\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1177
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1178
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1179
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1180
# Function used to display one line at the time for an hash array
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1181
sub display_hash_array_one_line_at_the_time
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1182
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1183
	my (%hash_array_to_display_one_line_at_the_time) = @_;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1184
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1185
	my @local_keys_array;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1186
	my @local_keys_array_sorted;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1187
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1188
	my $line_to_display;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1189
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1190
	@local_keys_array = keys (%hash_array_to_display_one_line_at_the_time);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1191
	@local_keys_array_sorted = sort { lc($a) cmp lc($b) } @local_keys_array;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1192
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1193
	foreach $line_to_display (@local_keys_array_sorted)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1194
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1195
		print "$line_to_display = $hash_array_to_display_one_line_at_the_time{$line_to_display}\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1196
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1197
}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1198
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1199
# PDKs with build_bom.zip file in the default PDKs location 14-09-2009
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1200
#Z:\Releases\PDK_2.0.e
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1201
#Z:\Releases\PDK_candidate_2.0.d_flat
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1202
#Z:\Releases\PDK_candidate_2.0e_FCL_27.78