releaseAutomation/fcls4releasenotes.pl
author Arnaud Lenoir
Wed, 07 Oct 2009 16:50:31 +0100
changeset 90 e45faf323a50
parent 87 97b833888afe
child 91 62971d19bb33
permissions -rw-r--r--
Correct problem with the name entered as parameter because it was exiting if 2 PDKs starting with the same name (ex: PDK_2.0.e &PDK_2.0.e_candidate_FCL_27.78)
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
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    37
my $pckg_extraction_data_file_name = "PkgComponentAnalysisSummary\.csv";
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
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    40
# 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
    41
# 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
    42
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
    43
my $analysis_dir="analysis";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    44
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    45
# Pattern used to search for PDKs
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    46
my $pdk_start_pattern="PDK_";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    47
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    48
# Pattern used to extract info from the xml file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    49
my $starting_pattern_for_xml_extraction="<name>Sources</name>";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    50
my $ending_pattern_for_xml_extraction="</project>";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    51
# 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
    52
# 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
    53
my $branch_type_extraction_pattern="(MCL|FCL)";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    54
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    55
my $mcl_cste="MCL";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    56
my $fcl_cste="FCL";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    57
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    58
# package name
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    59
#/imgeditor/#:86a88f39b644</baseline>
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    60
# # is used to define the changeset number for mercurial.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    61
# 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
    62
my $package_extraction_pattern = "([^/]+)/?#";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    63
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    64
# 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
    65
# 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
    66
# 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
    67
# $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
    68
my $extraction_from_xml_is_allowed=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    69
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    70
# Temporary location used to do the work
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    71
my $working_drive="c:";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    72
my $working_directory="temp";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    73
my $working_sub_directory="fcl_extraction";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    74
my $working_pdk1_directory="pdk1";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    75
my $working_pdk2_directory="pdk2";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    76
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    77
# 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
    78
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
    79
#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
    80
# This values need to be overwritten!!!
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    81
my $location_of_file_to_publish="c:\\temp";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    82
my $path_to_file_to_publish="$location_of_file_to_publish\\$name_of_file_to_publish";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    83
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
# End configuration data for the script
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    88
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    89
# 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
    90
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    91
my $nb_arg_passed = scalar(@ARGV);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
    92
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
    93
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
    94
# 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
    95
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
    96
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
    97
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
    98
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
    99
# 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
   100
if ($nb_arg_passed != $nb_arg_to_pass)
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
	helpme();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   103
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   104
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   105
# Modules necessary to run this script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   106
use Getopt::Long;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   107
use strict;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   108
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   109
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   110
# Arguments / Data used for the script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   111
my $pdknb1 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   112
my $pdknb2 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   113
my $pdkloc1 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   114
my $pdkloc2 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   115
my $pdkname1 = '';
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   116
my $pdkname2 = '';
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
my $help = 0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   119
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   120
GetOptions((
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   121
	'pdknb1=s' => \$pdknb1,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   122
	'pdknb2=s' => \$pdknb2,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   123
	'pdkname1=s' => \$pdkname1,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   124
	'pdkname2=s' => \$pdkname2,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   125
	'pdkloc1=s' => \$pdkloc1,
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   126
	'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
   127
	'help!' => \$help	# Not working
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   128
));
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   129
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   130
print "\pdknb1=$pdknb1\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   131
print "\pdknb2=$pdknb2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   132
print "\pdkname1=$pdkname1\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   133
print "\pdkname2=$pdkname2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   134
print "\pdkloc1=$pdkloc1\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   135
print "\pdkloc2=$pdkloc2\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   136
print "\help=$help\n";
80
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
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
   139
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   140
# First PDK to check
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   141
my $pdk_path1="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   142
my $pdk_complete_name1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   143
my $pdk_complete_path1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   144
my $pdk_path1_now_in_use=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   145
my $pdk_values_to_search1=""; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   146
my $pdk_path1_exist=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   147
my $pdk_zip1_exit=0; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   148
my $pdk1_correct_name_to_use="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   149
my $loc1_contains_the_zip_file_we_need=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   150
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   151
# Second PDK to check
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   152
my $pdk_path2="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   153
my $pdk_complete_name2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   154
my $pdk_complete_path2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   155
my $pdk_path2_now_in_use=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   156
my $pdk_values_to_search2=""; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   157
my $pdk_path2_exist=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   158
my $pdk_zip2_exist=0; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   159
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
   160
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
   161
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
   162
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
   163
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
   164
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   165
# Default directory management
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   166
my @directories_list_default_location=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   167
my $nb_dir_in_default_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   168
my @pdk_dir_list_in_default_location=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   169
my $nb_pdks_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   170
my @pdks_with_valid_zip_in_default_loc=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   171
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
   172
my @find_pdk_for_corresponding_nb1=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   173
my $nb_of_pdk_for_corresponding_nb1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   174
my @find_pdk_for_corresponding_nb2=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   175
my $nb_of_pdk_for_corresponding_nb2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   176
my @find_pdk_for_corresponding_name1=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   177
my $nb_of_pdk_for_corresponding_name1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   178
my @find_pdk_for_corresponding_name2=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   179
my $nb_of_pdk_for_corresponding_name2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   180
my @read_files_in_loc=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   181
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   182
# Data / statistics to be displayed in the release notes
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   183
# 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
   184
# 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
   185
# 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
   186
# Totals
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   187
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
   188
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
   189
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
   190
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
   191
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
   192
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
   193
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
   194
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
   195
# Tables
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   196
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
   197
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
   198
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
   199
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
   200
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
   201
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
   202
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
   203
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
   204
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
   205
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
   206
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   207
# 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
   208
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   209
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   210
# Script code start here!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   211
if($pdknb1)
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
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   214
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   215
	# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   216
	$pdk_path1 = $default_pdk_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   217
	$pdk_complete_name1=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   218
	$pdk_complete_path1=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   219
	$pdk_path1_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   220
	$pdk_values_to_search1=$pdknb1; # Not necessary
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
if($pdknb2)
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
	$count_arg++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   225
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   226
	# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   227
	$pdk_path2 = $default_pdk_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   228
	$pdk_complete_name2=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   229
	$pdk_complete_path2=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   230
	$pdk_path2_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   231
	$pdk_values_to_search2=$pdknb2; # Not necessary
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
if($pdkname1)
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
	$count_arg++;
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
	if(!$pdk_path1_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   238
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   239
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   240
		$pdk_path1 = $default_pdk_loc;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   241
		$pdk_complete_path1=1;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   242
		$pdk_path1_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   243
		$pdk_values_to_search1=$pdkname1; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   244
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   245
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   246
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   247
		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
   248
		exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   249
	}
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
if($pdkname2)
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
	$count_arg++;
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
	if(!$pdk_path2_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   256
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   257
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   258
		$pdk_path2 = $default_pdk_loc;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   259
		$pdk_complete_path2=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   260
		$pdk_path2_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   261
		$pdk_values_to_search2=$pdkname2; # Not necessary
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   262
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   263
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   264
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   265
		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
   266
		exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   267
	}
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
if($pdkloc1)
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
	$count_arg++;
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
	if(!$pdk_path1_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   274
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   275
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   276
		$pdk_path1 = $pdkloc1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   277
		$pdk_path1_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   278
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   279
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   280
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   281
		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
   282
		exit(0);
80
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
}
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
if($pdkloc2)
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
	$count_arg++;
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
	if(!$pdk_path2_now_in_use)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   291
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   292
		# Get data for first pdk used for the comparison
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   293
		$pdk_path2 = $pdkloc2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   294
		$pdk_path2_now_in_use=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   295
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   296
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   297
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   298
		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
   299
		exit(0);
80
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
}
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
print "count_arg=$count_arg\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   304
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   305
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   306
# If no parameters entered or help selected, display help
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   307
if ($count_arg != $nb_arg_to_pass)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   308
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   309
	#$help = 1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   310
	helpme();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   311
	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
   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
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
# 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
   317
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   318
print "\nWe are on the right path!!!!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   319
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   320
print "pdk_path1=$pdk_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   321
print "pdk_complete_name1=$pdk_complete_name1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   322
print "pdk_complete_path1=$pdk_complete_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   323
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
   324
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   325
print "pdk_path2=$pdk_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   326
print "pdk_complete_name2=$pdk_complete_name2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   327
print "pdk_complete_path2=$pdk_complete_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   328
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
   329
print "\n\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   330
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   331
# 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
   332
extract_dir_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   333
extract_pdk_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   334
extract_pdk_with_valid_zip_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   335
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   336
# Compose path if necessary.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   337
print "\n";
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
my $find_val=0;
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_path1)
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
	if ($pdk_complete_name1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   344
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   345
		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
   346
		# 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
   347
		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
   348
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   349
			#print $find_val, "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   350
			if($find_val =~ /$pdknb1/i)
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
				$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
   353
			}
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
		print "Table find_pdk_for_corresponding_nb1 is:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   356
		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
   357
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   358
		if($nb_of_pdk_for_corresponding_nb1==1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   359
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   360
			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
   361
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   362
		else
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
			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
   365
			exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   366
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   367
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   368
		#extract PDK name if only one
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   369
		$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
   370
		$pdk_path1 .= $find_pdk_for_corresponding_nb1[0];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   371
		print "pdknb1 = $pdknb1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   372
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   373
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   374
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   375
		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
   376
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   377
		# 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
   378
		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
   379
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   380
			#print $find_val, "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   381
			if($find_val =~ /$pdkname1/i)
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
				$find_pdk_for_corresponding_name1[$nb_of_pdk_for_corresponding_name1++]=$find_val;
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
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   386
		print "Table find_pdk_for_corresponding_name1 is: \n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   387
		display_array_one_line_at_the_time(@find_pdk_for_corresponding_name1);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   388
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   389
		if($nb_of_pdk_for_corresponding_name1==1)
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 "There is only $nb_of_pdk_for_corresponding_name1 PDK with the name corresponding to the PDK name given, we can keep going!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   392
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   393
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   394
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   395
			print "There is $nb_of_pdk_for_corresponding_name1 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
   396
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   397
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   398
		#extract PDK name if only one
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   399
		print "pdkname1 = $pdkname1\n";
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
   400
		$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
   401
		$pdk_path1 .= $pdkname1;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   402
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   403
	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
   404
	print "pdk_path1 = $pdk_path1\n";
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   407
$find_val=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
if ($pdk_complete_path2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   410
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   411
	if ($pdk_complete_name2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   412
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   413
		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
   414
		# 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
   415
		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
   416
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   417
			#print $find_val, "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   418
			if($find_val =~ /$pdknb2/i)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   419
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   420
				$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
   421
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   422
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   423
		print "Table find_pdk_for_corresponding_nb is:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   424
		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
   425
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   426
		if($nb_of_pdk_for_corresponding_nb2==1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   427
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   428
			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
   429
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   430
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   431
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   432
			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
   433
			exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   434
		}
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
		#extract PDK name if only one
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   437
		$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
   438
		$pdk_path2 .= $find_pdk_for_corresponding_nb2[0];
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   439
		print "pdknb2 = $pdknb2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   440
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   441
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   442
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   443
		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
   444
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   445
		# 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
   446
		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
   447
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   448
			#print $find_val, "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   449
			if($find_val =~ /$pdkname2/i)
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
				$find_pdk_for_corresponding_name2[$nb_of_pdk_for_corresponding_name2++]=$find_val;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   452
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   453
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   454
		print "Table find_pdk_for_corresponding_name2 is:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   455
		display_array_one_line_at_the_time(@find_pdk_for_corresponding_name2);
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
		if($nb_of_pdk_for_corresponding_name2==1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   458
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   459
			print "There is only $nb_of_pdk_for_corresponding_name2 PDK with the name corresponding to the PDK name given, we can keep going!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   460
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   461
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   462
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   463
			print "There is $nb_of_pdk_for_corresponding_name2 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
   464
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   465
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   466
		#extract PDK name if only one
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   467
		print "pdkname2 = $pdkname2\n";		
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
   468
		$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
   469
		$pdk_path2 .= $pdkname2;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   470
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   471
	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
   472
	print "pdk_path2 = $pdk_path2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   473
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   474
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   475
# 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
   476
my $loc_var;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   477
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   478
if($pdkloc1)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   479
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   480
	# Get the list of file in the location choosen.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   481
	opendir(LOC1_DIR, $pdkloc1);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   482
	@read_files_in_loc = readdir(LOC1_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   483
	close(LOC1_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   484
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   485
	#print "List of files in the directory: @read_files_in_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   486
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   487
	foreach $loc_var (@read_files_in_loc)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   488
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   489
		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
   490
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   491
			print "We found the file: $loc_var\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   492
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   493
			$pdk1_correct_name_to_use = "PDK1";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   494
			$pdk_path1 = $pdkloc1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   495
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   496
			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
   497
			print "pdk_path1 = $pdk_path1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   498
			$loc1_contains_the_zip_file_we_need=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   499
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   500
			# 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
   501
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   502
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   503
	if(!$loc1_contains_the_zip_file_we_need)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   504
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   505
		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
   506
		exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   507
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   508
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   509
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   510
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   511
if($pdkloc2)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   512
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   513
	# 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
   514
	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
   515
	@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
   516
	close(LOC2_DIR);	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   517
	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
   518
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   519
	foreach $loc_var (@read_files_in_loc)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   520
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   521
		# 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
   522
		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
   523
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   524
			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
   525
			$loc2_contains_the_zip_file_we_need++;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   526
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   527
	}
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   528
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   529
	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
   530
	{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   531
		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
   532
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   533
		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
   534
		$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
   535
		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
   536
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   537
		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
   538
		@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
   539
		close(LOCBOM_DIR);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   540
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   541
		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
   542
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   543
		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
   544
		{			
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   545
			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
   546
			{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   547
				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
   548
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   549
				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
   550
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   551
				$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
   552
			}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   553
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   554
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   555
		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
   556
		$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
   557
		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
   558
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   559
		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
   560
		@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
   561
		close(LOCANALYSIS_DIR);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   562
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   563
		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
   564
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   565
		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
   566
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   567
			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
   568
			{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   569
				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
   570
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   571
				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
   572
				
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   573
				$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
   574
			}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   575
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   576
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   577
	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
   578
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   579
		$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
   580
		$pdk_path2 = $pdkloc2;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   581
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   582
		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
   583
		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
   584
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   585
		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
   586
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   587
			$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
   588
			$path_to_file_to_publish="$location_of_file_to_publish\\$name_of_file_to_publish";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   589
			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
   590
			print "path_to_file_to_publish=$path_to_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
   591
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   592
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   593
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   594
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   595
		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
   596
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   597
			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";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   598
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   599
		else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   600
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   601
			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
   602
		}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   603
		exit(0);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   604
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   605
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   606
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   607
print "\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   608
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
   609
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
   610
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
   611
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   612
# 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
   613
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   614
my $system_cmd = "";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   615
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   616
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
   617
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
   618
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
   619
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   620
# 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
   621
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   622
# 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
   623
#7z e -r build_BOM.zip build-info.xml
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   624
# Where 7z is the unzip program
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   625
# Where e is for extraction of a file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   626
# 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
   627
# 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
   628
#
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   629
# 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
   630
# 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
   631
# 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
   632
# 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
   633
# 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
   634
# 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
   635
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   636
# 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
   637
$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
   638
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
   639
system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   640
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   641
print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   642
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   643
# 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
   644
$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
   645
print "Exec: $system_cmd\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   646
system($system_cmd);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   647
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   648
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   649
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   650
# 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
   651
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
   652
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   653
	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
   654
	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
   655
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   656
	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
   657
	$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
   658
	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
   659
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   660
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   661
	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
   662
	$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
   663
	$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
   664
	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
   665
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   666
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   667
	print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   668
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   669
	# 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
   670
	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
   671
	$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
   672
	$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
   673
	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
   674
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   675
}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   676
else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   677
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   678
	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
   679
	$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
   680
	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
   681
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   682
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   683
	print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   684
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   685
	# 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
   686
	$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
   687
	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
   688
	system($system_cmd);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   689
}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   690
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   691
# 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
   692
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   693
# 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
   694
my %build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   695
my %build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   696
my @sorting_build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   697
my @sorting_build_info_xml2;
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
#my @display_hash_array;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   700
my $key;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   701
# Define the path for the files to work on
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   702
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
   703
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
   704
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   705
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   706
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   707
my $count_packages=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   708
my @not_sorted_table;
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
# 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
   711
# pdk1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   712
%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
   713
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   714
print "%build_info_xml1:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   715
# Define the number of packages for pdk1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   716
$total_packages_pdk1 = keys %build_info_xml1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   717
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
   718
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   719
# 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
   720
# 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
   721
@not_sorted_table = keys %build_info_xml1;
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
#print "\nnot_sorted_table:\n @not_sorted_table\n";
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
# ascendant alphabetical sort
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   726
@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
   727
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   728
#print "\npdk1_sorting_table :\n @pdk1_sorting_table\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   729
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   730
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   731
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   732
# pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   733
%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
   734
print "%build_info_xml2:\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   735
# Define the number of packages for pdk2
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   736
$total_packages_pdk2 = keys %build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   737
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
   738
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   739
# 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
   740
# 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
   741
@not_sorted_table = keys %build_info_xml2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   742
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   743
#print "\nnot_sorted_table:\n @not_sorted_table\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   744
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   745
# ascendant alphabetical sort
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   746
@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
   747
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   748
#print "\npdk2_sorting_table :\n @pdk2_sorting_table\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   749
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   750
print "\n";
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
# 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
   753
# 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
   754
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   755
my $tab_counter1=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   756
my $tab_counter2=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   757
my $compare_2_tables;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   758
my $value_package_pdk1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   759
my $value_package_pdk2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   760
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   761
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
   762
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   763
	#print "tab_counter1=$tab_counter1, total_packages_pdk1=$total_packages_pdk1\ntab_counter2=$tab_counter2, total_packages_pdk2=$total_packages_pdk2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   764
	#print "packages in pdk1 is $pdk1_sorting_table[$tab_counter1] and in pdk2 is $pdk2_sorting_table[$tab_counter2]\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   765
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   766
	# $a cmp $b
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   767
	# if $a > $b value returned is 1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   768
	# if $a = $b value returned is 0
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   769
	# if $a < $b value returned is -1
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   770
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   771
	$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
   772
	#print "compare_2_tables=$compare_2_tables\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   773
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   774
	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
   775
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   776
		#print "the package is the same in pdk1_sorting_table and pdk2_sorting_table\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   777
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   778
		$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
   779
		$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
   780
		#print "value_package_pdk1=$value_package_pdk1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   781
		#print "value_package_pdk2=$value_package_pdk2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   782
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   783
		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
   784
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   785
			#print "the package was MCL and is now FCL - NEW\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   786
			$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
   787
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   788
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   789
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   790
			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
   791
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   792
				#print "the package was FCL and is now MCL - NO MORE\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   793
				$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
   794
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   795
			else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   796
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   797
				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
   798
				{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   799
					#print "the package was FCL and is still FCL - STILL\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   800
					$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
   801
				}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   802
				else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   803
				{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   804
					#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
   805
					$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
   806
				}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   807
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   808
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   809
		$tab_counter1++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   810
		$tab_counter2++;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   811
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   812
	else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   813
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   814
		# 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
   815
		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
   816
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   817
			#print "the package $pdk1_sorting_table[$tab_counter1] has been deleted from pdk2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   818
			$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
   819
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   820
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   821
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   822
			# 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
   823
			#print "the package $pdk2_sorting_table[$tab_counter2] has been added to pdk2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   824
			$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
   825
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   826
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   827
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   828
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   829
# 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
   830
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
   831
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
   832
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   833
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
   834
print "total_packages_pdk1=$total_packages_pdk1\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   835
print "total_packages_pdk2=$total_packages_pdk2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   836
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   837
print "total_packages_added=$total_packages_added\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   838
print "packages_added_table=\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   839
#display_array_one_line_at_the_time(@packages_added_table);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   840
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   841
print "total_packages_removed=$total_packages_removed\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   842
print "packages_removed_table=\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   843
#display_array_one_line_at_the_time(@packages_removed_table);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   844
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   845
print "total_new_fcl=$total_new_fcl\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   846
print "new_fcl_table=\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   847
#display_array_one_line_at_the_time(@new_fcl_table);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   848
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   849
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
   850
print "no_more_fcl_table=\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   851
#display_array_one_line_at_the_time(@no_more_fcl_table);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   852
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   853
print "total_still_fcl=$total_still_fcl\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   854
print "still_fcl_table=\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   855
#display_array_one_line_at_the_time(@still_fcl_table);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   856
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   857
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
   858
print "very_good_mcl_table=\n";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   859
#display_array_one_line_at_the_time(@very_good_mcl_table);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   860
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   861
# Checking that the packages have been assigned properly.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   862
# !!!! 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
   863
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
   864
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
   865
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
   866
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   867
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
   868
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
   869
print "\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   870
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
   871
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
   872
print "\n";
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
# 5th step is to create a txt file ready to be used for the release notes in a media wiki format.
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
   875
#$path_to_file_to_publish = "c:\\temp\\releaseNotes\.wiki\.txt";
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
   876
$path_to_file_to_publish = "\\\\Lon-engbuild87\\d\$\\fbf_job\\symbian3_FCL\.split\.117\\output\\logs\\releaseNotes\.wiki\.txt";
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   877
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
   878
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   879
my $val;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   880
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   881
# 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
   882
print FCLCOMPARISONFILE <<"EOT";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   883
== Packages ==
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   884
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
   885
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
   886
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   887
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
   888
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   889
EOT
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   890
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   891
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
   892
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
   893
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
   894
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   895
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
   896
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
   897
foreach $val (@packages_added_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   898
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   899
	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
   900
	{
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
   901
		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
   902
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   903
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   904
	{
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
   905
		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
   906
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   907
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   908
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
   909
print FCLCOMPARISONFILE "=== Packages removed ===\n\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   910
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
   911
foreach $val (@packages_removed_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   912
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   913
	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
   914
	{
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
   915
		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
   916
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   917
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   918
	{
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
   919
		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
   920
	}
80
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   923
# Enter the beginning of the section for the FCL
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   924
print FCLCOMPARISONFILE <<"EOT";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   925
== FCLs ==
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   926
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   927
'''$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
   928
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
   929
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
   930
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   931
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.
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
EOT
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   934
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   935
# 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
   936
foreach $val (@new_fcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   937
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   938
	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
   939
	{
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
   940
		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
   941
		# TO DO!!!!
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   942
		# 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
   943
		#[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
   944
		#[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
   945
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   946
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   947
	{
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
   948
		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
   949
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   950
}
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
# 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
   953
foreach $val (@still_fcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   954
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   955
	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
   956
	{
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
   957
		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
   958
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   959
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   960
	{
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
   961
		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
   962
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   963
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   964
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
   965
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
   966
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   967
foreach $val (@no_more_fcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   968
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   969
	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
   970
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   971
		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
   972
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   973
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   974
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   975
		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
   976
	}
80
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   979
# Packages were on MCL and they are still on MCL.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   980
foreach $val (@very_good_mcl_table)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   981
{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   982
	#print "Value for package $val is: $pckg_name_array{$val}\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   983
	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
   984
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   985
		#print "There is a real name for the package: ($pckg_name_array{$val})\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   986
		#print FCLCOMPARISONFILE "=== $pckg_name_array{$val} ($pckg_path_name_array{$val}) -- VERY GOOD ===\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   987
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   988
	else
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   989
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   990
		#print "There is not a real name for the package: ($pckg_name_array{$val})\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   991
		#print FCLCOMPARISONFILE "=== $val ($pckg_path_name_array{$val}) -- VERY GOOD ===\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   992
	}
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   993
}
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
close(FCLCOMPARISONFILE);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
   996
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   997
#print "Path for each packages:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
   998
#display_hash_array_one_line_at_the_time(%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
   999
#print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1000
#print "Real name for each packages:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1001
#display_hash_array_one_line_at_the_time(%pckg_name_array);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1002
#print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1003
#print "Branch type for each packages:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1004
#display_hash_array_one_line_at_the_time(%build_info_xml2);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1005
#print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1006
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1007
# Used to verify the differences between build_info.xml and PkgComponentAnalysisSummary.csv because not the same number of packages.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1008
#print "Packages list from build-info.xml:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1009
#my @local_array_key_extraction;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1010
#my @local_array_key_extraction_sorted;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1011
#@local_array_key_extraction = keys (%build_info_xml2);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1012
#@local_array_key_extraction_sorted = sort { lc($a) cmp lc($b) } @local_array_key_extraction;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1013
#display_array_one_line_at_the_time(@local_array_key_extraction_sorted);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1014
#print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1015
#print "Packages list from csv file:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1016
#my @local_array_key_extraction;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1017
#my @local_array_key_extraction_sorted;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1018
#@local_array_key_extraction = keys (%pckg_name_array);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1019
#@local_array_key_extraction_sorted = sort { lc($a) cmp lc($b) } @local_array_key_extraction;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1020
#display_array_one_line_at_the_time(@local_array_key_extraction_sorted);
80
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1023
# 6th step is to export that txt file the appropriate location.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1024
# That could be the location from where we launched the script!
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1025
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
  1026
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1027
# Cleanup the mess!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1028
#pause_script(); # Temporary until script is finished!!!!!!
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
$system_cmd = "rmdir /S /Q $working_dir";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1031
print "Exec: $system_cmd\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1032
system($system_cmd);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1033
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
  1034
exit(0);
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1035
##
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1036
### End of the program!!!
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1039
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
# Functions section!!!!!
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1042
#
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
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1045
# If no parameters entered or help selected, display help
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1046
sub helpme
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1047
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1048
	print "\nfct: helpme\n";
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
	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
  1051
	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
  1052
	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
  1053
	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
  1054
	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
  1055
	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
  1056
	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
  1057
	print "\nNotes:\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1058
	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
  1059
	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
  1060
	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
  1061
	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
  1062
	print "\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1063
	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
  1064
	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
  1065
	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
  1066
	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
  1067
	print "\t<perl fcls4releasenotes.pl help>\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1068
	#print "\t<perl fcls4releasenotes.pl validpdks>\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1069
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1070
	list_pdks_at_default_location();
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
	exit(0);
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
# End section related to help
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1075
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1076
# 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
  1077
sub list_pdks_at_default_location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1078
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1079
	print "\nfct: list_pdks_at_default_location\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1080
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1081
	# Do a dir of the default location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1082
	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
  1083
	extract_dir_default_loc();
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
	# Extract all the PDKs that have the pattern PDK_
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1086
	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
  1087
	extract_pdk_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1088
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1089
	# 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
  1090
	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
  1091
	extract_pdk_with_valid_zip_in_default_loc();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1092
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1093
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1094
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1095
# 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
  1096
sub extract_dir_default_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1097
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1098
	print "\nfct: extract_dir_default_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1099
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1100
	# Get the list of directories in the default location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1101
	opendir(DEFAULT_DIR, $default_pdk_loc);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1102
	@directories_list_default_location = readdir(DEFAULT_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1103
	close(DEFAULT_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1104
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1105
	$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
  1106
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1107
	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
  1108
	#display_array_one_line_at_the_time(@directories_list_default_location);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1109
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1110
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1111
# 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
  1112
sub extract_pdk_in_default_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1113
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1114
	print "\nfct: extract_pdk_in_default_loc\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1115
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1116
	my $var;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1117
	$nb_pdks_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1118
	print "pdk_start_pattern = $pdk_start_pattern\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1119
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1120
	foreach $var (@directories_list_default_location)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1121
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1122
		if($var =~ /^$pdk_start_pattern+/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1123
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1124
			#print "$var\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1125
			$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
  1126
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1127
		#else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1128
		#{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1129
			#print "Not a PDK!!!!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1130
		#}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1131
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1132
	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
  1133
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1134
	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
  1135
	#display_array_one_line_at_the_time(@pdk_dir_list_in_default_location);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1136
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1137
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1138
# 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
  1139
sub extract_pdk_with_valid_zip_in_default_loc
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1140
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1141
	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
  1142
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1143
	my $var1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1144
	my $var2;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1145
	my $path_to_find_zip = "";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1146
	my @read_pdk_directory=();
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1147
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1148
	$nb_pdks_with_valid_zip_in_default_loc=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1149
	
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1150
	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
  1151
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1152
	foreach $var1 (@pdk_dir_list_in_default_location)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1153
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1154
		$path_to_find_zip=$default_pdk_loc;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1155
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1156
		$path_to_find_zip .= $var1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1157
		#print "path_to_find_zip=$path_to_find_zip\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1158
				
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1159
		# Get the list of directories in the default location
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1160
		opendir(PDK_DIR, $path_to_find_zip);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1161
		@read_pdk_directory = readdir(PDK_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1162
		close(PDK_DIR);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1163
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1164
		foreach $var2 (@read_pdk_directory)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1165
		{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1166
			if($var2 =~ /$build_bom_zip_file_to_extract$/)
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1167
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1168
				#print "$var2\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1169
				$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
  1170
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1171
			#else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1172
			#{
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1173
				#print "Doesn't contain $build_bom_zip_file_to_extract!!!!\n";
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1174
			#}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1175
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1176
	}
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1177
	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
  1178
	
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1179
	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
  1180
	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
  1181
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1182
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1183
# Function created to pause the script to allow analysis and debug of the script.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1184
# Will require the user to press enter to carry on the execution of the script.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1185
sub pause_script
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1186
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1187
	print "\nfct: pause_script\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1188
	my $local_system_cmd = "pause";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1189
	print "Exec: $local_system_cmd\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1190
	system($local_system_cmd);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1191
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1192
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1193
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1194
# 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
  1195
sub extract_packages_and_branch_type_from_file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1196
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1197
	# 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
  1198
	my ($file_to_work_on) = @_;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1199
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1200
	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
  1201
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1202
	print "$file_to_work_on\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1203
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1204
	my %local_hash_array;
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1205
	#my @local_hash_array;
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1206
	my $local_key;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1207
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1208
	my $package="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1209
	my $type_of_branch="";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1210
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1211
	#@hash_array_to_display = %local_hash_array;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1212
	#print "%local_hash_array before starting = @hash_array_to_display\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1213
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1214
	# Open file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1215
	open(FILETOWORKON , $file_to_work_on);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1216
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1217
	# Extract data from file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1218
	my @local_array = <FILETOWORKON>;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1219
	#print "local_array= @local_array\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1220
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1221
	# Close file
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1222
	close(FILETOWORKON);
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1223
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1224
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1225
	my $extracted_line;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1226
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1227
	# Go line by line
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1228
	foreach  $extracted_line (@local_array)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1229
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1230
		#print "\nextracted_line is: $extracted_line"; # no need to add \\n as it's part of the line displayed.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1231
		
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1232
		if ($extracted_line =~ /$starting_pattern_for_xml_extraction/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1233
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1234
			#print "The line extracted is our starting pattern $starting_pattern_for_xml_extraction\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1235
			$extraction_from_xml_is_allowed=1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1236
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1237
		else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1238
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1239
		if ($extracted_line =~ /$ending_pattern_for_xml_extraction/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1240
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1241
				#print "The line extracted is our ending pattern $ending_pattern_for_xml_extraction\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1242
				$extraction_from_xml_is_allowed=0;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1243
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1244
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1245
		#print "extraction_from_xml_is_allowed=$extraction_from_xml_is_allowed\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1246
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1247
		if($extraction_from_xml_is_allowed)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1248
		{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1249
			#print "We are looking to extract the package and branch type from the line extracted\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1250
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1251
			# Decode the line			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1252
			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1253
			# Decode the branch type			
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1254
			if($extracted_line =~ /$branch_type_extraction_pattern/)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1255
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1256
				$type_of_branch=$1;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1257
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1258
				# 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
  1259
				if ($extracted_line =~ m,$package_extraction_pattern,)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1260
				{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1261
					$package=$1;					
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1262
				}
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1263
				#print "package is $package and type_of_branch is $type_of_branch\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1264
				$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
  1265
				
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1266
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1267
			else
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1268
			{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1269
				#print "The extracted line doesn't contain $look_for_mcl or $look_for_fcl, therefore we need to skip it!\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1270
			}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1271
		}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1272
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1273
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1274
	# Check the contain of the hash array to make sure that we have extracted the data as expected. To check against the actual file.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1275
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1276
	# Option 1: Display all in one line
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1277
	#@hash_array_to_display = %local_hash_array;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1278
	# Print "%local_hash_array when extraction is finished = @hash_array_to_display\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1279
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1280
	# Option 2: Print 1 key with 1 value by line
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1281
	#foreach $local_key (keys(%local_hash_array))
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1282
	#{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1283
	#	print "$local_key = $local_hash_array{$local_key}\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1284
	#}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1285
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1286
	# 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
  1287
	return (%local_hash_array);
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1288
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1289
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1290
# 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
  1291
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
  1292
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1293
	# 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
  1294
	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
  1295
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1296
	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
  1297
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1298
	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
  1299
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1300
	my @local_array;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1301
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1302
	# Open file
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1303
	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
  1304
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1305
	# 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
  1306
	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
  1307
	#print "build_bom_local_array= @build_bom_local_array\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1308
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1309
	# Close file
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1310
	close(FILETOWORKON);
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1311
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1312
	my $extracted_line;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1313
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1314
	# 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
  1315
	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
  1316
	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
  1317
	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
  1318
	my $pckg_name="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1319
	my $pckg_path="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1320
	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
  1321
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1322
	#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
  1323
	#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
  1324
	#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
  1325
	#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
  1326
	#sf/app/helps,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1327
	#SFL,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1328
	#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
  1329
	#OK,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1330
	# Help Apps,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1331
	# Help
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1332
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1333
	#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
  1334
	#sf/app/java,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1335
	#SFL,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1336
	#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
  1337
	#OK,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1338
	# ,
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1339
	#
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1340
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1341
	# 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
  1342
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1343
	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
  1344
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1345
		#print "\nextracted_line is: $extracted_line"; # no need to add \\n as it's part of the line displayed.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1346
		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1347
		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
  1348
		{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1349
			$pckg_name = $1;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1350
			#print "Pckg name is: $pckg_name\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1351
			
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1352
			#print "Is $pckg_name already exist in the hash array?: $pckg_path_name_array{$pckg_name}\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1353
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1354
			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
  1355
			{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1356
				#print "$pckg_name is not in the hash array, we need to add it\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1357
				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
  1358
				{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1359
					$pckg_path = $1;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1360
					#print "Pckg path is: $pckg_path\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1361
				}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1362
				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
  1363
				{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1364
					$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
  1365
					#print "Pckg real name is: $pckg_real_name\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1366
				}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1367
				# fill the tables
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1368
				$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
  1369
				$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
  1370
			}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1371
		}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1372
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1373
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1374
	my $local_value="";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1375
	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
  1376
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1377
	@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
  1378
	@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
  1379
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1380
#	print "\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1381
#	my $counter_to_remove=0;
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1382
#	foreach $local_value (@local_array_sorted)
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1383
#	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1384
		#print "$counter_to_remove: The path for package $local_value is: $pckg_path_name_array{$local_value}\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1385
		#print "$counter_to_remove:The real name for package $local_value is: $pckg_name_array{$local_value}\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1386
		#print "$counter_to_remove: local_array_sorted[$counter_to_remove]:$local_array_sorted[$counter_to_remove]\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1387
		#print "$local_array_sorted[$counter_to_remove]\n";
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1388
		#$counter_to_remove++;		
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1389
#	}	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1390
}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1391
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1392
# 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
  1393
sub display_array_one_line_at_the_time
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1394
{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1395
	my (@table_to_display_one_line_at_the_time) = @_;
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1396
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1397
	#print "\nfct: display_array_one_line_at_the_time\n"; # Not displayed because you could think that is part of the table. As well it's easier to copy the name of the table and the contain wihtout the need to remove something.
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1398
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1399
	my $line_to_display;	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1400
	
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1401
	foreach $line_to_display (@table_to_display_one_line_at_the_time)
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1402
	{
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1403
		print "$line_to_display\n";
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1404
	}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1405
}
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1406
81
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1407
# 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
  1408
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
  1409
{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1410
	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
  1411
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1412
	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
  1413
	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
  1414
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1415
	#print "\nfct: display_hash_array_one_line_at_the_time\n"; # Not displayed because you could think that is part of the table. As well it's easier to copy the name of the table and the contain wihtout the need to remove something.
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1416
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1417
	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
  1418
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1419
	@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
  1420
	@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
  1421
	
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1422
	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
  1423
	{
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1424
		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
  1425
	}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1426
}
63e14a36aefd Arnaudl. Final version of the script before testing live by doing a test build.
Arnaud Lenoir
parents: 80
diff changeset
  1427
80
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1428
# 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
  1429
#Z:\Releases\PDK_2.0.e
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1430
#Z:\Releases\PDK_candidate_2.0.d_flat
9f8bdafe5d68 Perl script for the releases notes automation with fcl!
Arnaud Lenoir
parents:
diff changeset
  1431
#Z:\Releases\PDK_candidate_2.0e_FCL_27.78