--- a/buildframework/helium/tools/rombuild/dryrun_parser.py Wed Oct 28 14:39:48 2009 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,216 +0,0 @@
-#============================================================================
-#Name : dryrun_parser.py
-#Part of : Helium
-
-#Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
-#All rights reserved.
-#This component and the accompanying materials are made available
-#under the terms of the License "Eclipse Public License v1.0"
-#which accompanies this distribution, and is available
-#at the URL "http://www.eclipse.org/legal/epl-v10.html".
-#
-#Initial Contributors:
-#Nokia Corporation - initial contribution.
-#
-#Contributors:
-#
-#Description:
-#===============================================================================
-
-""" parse a python file in a given environment, and get out some results """
-import re
-import os
-import sys
-
-if __name__ == '__main__':
- if len(sys.argv)<3:
- print("dryrun requires input txt file and output make file and the target to run")
- sys.exit(-1)
-
- #input arguments
- input_file = sys.argv[1]
- output_file = sys.argv[2]
- make_target = sys.argv[3]
-
-
- variation_commands = {}
- regional_commands = []
-
- #parse imaker output
- fin = open(input_file, "r")
- imaker_pattern = '^imaker'
- foti_fota_pattern = ' fot[ia]'
- core_pattern = 'core|rofs3|flash$'
- workdir_pattern = 'WORKDIR='
- regional_pattern = '^unzip'
- regional_key = ""
- new_regional_key = ""
- regional_keys = []
- temporary_list = []
- unzip_commands = []
- workdir_string = ""
-
- for line in fin:
-# """ First look for unzip command. """
- if(re.search(regional_pattern, line)):
- temporary_list = line.split(' ')
- unzip_commands.append(line)
- new_regional_key = temporary_list[-1]
- #print regional_key
- if(not len(regional_key) == 0):
-# """ Will be processing next region, so store the commands for this region."""
- if(variation_commands.has_key(regional_key)):
- variation_commands[regional_key] = regional_commands
- regional_key = new_regional_key
- if(variation_commands.has_key(new_regional_key)):
- regional_commands = variation_commands[new_regional_key]
- else:
- regional_commands = []
- variation_commands[new_regional_key] = regional_commands
- else:
- variation_commands[new_regional_key] = regional_commands
- regional_key = new_regional_key
- if(re.search(imaker_pattern, line)):
- workdir_list = re.split(workdir_pattern, line)
- if(len(workdir_list) > 1):
- #print workdir_list
- workdir_string = re.split("\"", workdir_list[1])[0]
- #print "workdir_string"
- #print workdir_string
- if(not os.path.exists(workdir_string)):
- os.makedirs(workdir_string)
- regional_commands.append(line)
- fin.close()
- variation_commands[regional_key] = regional_commands
-
-# """ Group the commands for the region and write the commands into a makefile."""
- fin = open(output_file, "w")
- all_string = "%s: foti_fota_all \\\n\tcore_rofs_image_all \\\n\trest_of_all" % make_target
- core_rofs_all_string = "core_rofs_image_all:"
- variation_image_all_string = "variation_all:"
- variation_image_string = ""
- core_rofs_string = ""
- core_image_id = 0
- e2flash_id = 0
- e2flash_all_string = "#pragma runlocal\ne2flash_target_all:\n"
- variation_image_id = 0
- variation_e2f_id = 0
- variation_id = 0
-
- foti_fota_all_string = "#pragma runlocal\nfoti_fota_all:"
- foti_fota_all_string += "\n\t"+unzip_commands[variation_id]
- rest_of_all_target_string = "rest_of_all:"
- rest_of_target_string = ""
- rest_of_target_id = 0
-
- count = 0
- dict_list = variation_commands.keys()
- for key in dict_list:
- print "before reverse key"
- print key
- print len(variation_commands.get(key))
-
- dict_list.reverse()
-
- for key in dict_list:
- print "key"
- print key
- print len(variation_commands.get(key))
- # for command in commands:
- # print command
-
- unzip_var_string = ""
- variation_image_all_string = ""
- variation_dependency = "variation0"
- for key in dict_list:
- commands = variation_commands.get(key)
- if(variation_id != 0):
- unzip_var_string += "unzip_var%d:%s" % (variation_id, variation_dependency)
- variation_dependency ="variation%d " % (variation_id)
- unzip_var_string += "\n\t"+unzip_commands[variation_id]
- all_string += "\\\n\tvariation%d " % variation_id
- variation_image_all_string +="variation%d: " % variation_id
- #print "no. of comands"
- #print len(commands)
- for command in commands:
- #print variation_id
- #print command
- if(re.search(foti_fota_pattern, command)):
- #print "foti command"
- #print command
- foti_fota_all_string += "\t"+command
- elif(re.search('flash$',command)):
- #print "flash command"
- #print command
- core_rofs_string += ("core_rofs_image%d:foti_fota_all" % (core_image_id))
- temp_string = re.sub('flash$', 'core-image rofs2-image rofs3-image', command)
- core_rofs_string += "\n\t"+temp_string+"\n"
- temp_string = re.sub('flash$', 'core-e2flash rofs2-e2flash rofs3-e2flash', command)
- e2flash_all_string += "\t"+temp_string
- core_rofs_all_string += " \\\n\t core_rofs_image%d" % core_image_id
- core_image_id += 1
- elif(re.search('core$',command)):
- #print "core command"
- #print command
- core_rofs_string += ("core_rofs_image%d:foti_fota_all" % (core_image_id))
- temp_string = re.sub('core$', 'core-image', command)
- core_rofs_string += "\n\t"+temp_string + "\n"
- temp_string = re.sub('core$', 'core-e2flash', command)
- e2flash_all_string += "\t"+temp_string
- core_rofs_all_string += " \\\n\t core_rofs_image%d" % core_image_id
- core_image_id += 1
- elif(re.search('rofs3$', command)):
- #print "rofs3 command"
- #print command
- core_rofs_string += ("core_rofs_image%d:foti_fota_all" % (core_image_id))
- temp_string = re.sub('rofs3$', 'rofs3-image', command)
- core_rofs_string += "\n\t"+temp_string + "\n"
- temp_string = re.sub('rofs3$', 'rofs3-e2flash', command)
- e2flash_all_string += "\t"+temp_string
- core_rofs_all_string += " \\\n\t core_rofs_image%d" % core_image_id
- core_image_id += 1
- elif(re.search('rofs2$',command)):
- #print "rofs2 command"
- #print variation_id
- #print command
- if(variation_id == 0):
- variation_image_string += ("variation_image%d:rest_of_all") %(variation_image_id)
- else:
- variation_image_string += ("variation_image%d:unzip_var%d") %(variation_image_id, variation_id)
- temp_string = re.sub('rofs2$', 'rofs2-image', command)
- variation_image_string += "\n\t"+temp_string+"\n"
- temp_string = re.sub('rofs2$', 'rofs2-e2flash', command)
- e2flash_all_string += "\t"+temp_string
- variation_image_all_string += " \\\n\tvariation_image%d" % variation_image_id
- variation_image_id += 1
- else:
- rest_of_target_string += ("\nrest_%d:core_rofs_image_all" % (rest_of_target_id))
- rest_of_target_string += "\n\t"+command+"\n"
- rest_of_all_target_string += " \\\n\t rest_%d" % rest_of_target_id
- rest_of_target_id += 1
- variation_id += 1
- unzip_var_string += "\n\n"
- variation_image_all_string += "\n\n"
-
- all_string += "\\\n\te2flash_target_all\n\n"
- #print core_rofs_all_string
- core_rofs_all_string += "\n\n"
- rest_of_all_target_string += "\n\n"
- e2flash_all_string += "\n\n"
- foti_fota_all_string += "\n\n"
- core_rofs_string += "\n\n"
- rest_of_target_string += "\n\n"
- unzip_var_string += "\n\n"
- variation_image_all_string += "\n\n"
- e2flash_all_string += "\n\n"
- fin.write(all_string)
- fin.write(core_rofs_all_string)
- fin.write(rest_of_all_target_string)
- fin.write(unzip_var_string)
- fin.write(variation_image_all_string)
- fin.write(foti_fota_all_string)
- fin.write(core_rofs_string)
- fin.write(variation_image_string)
- fin.write(rest_of_target_string)
- fin.write(e2flash_all_string)
- fin.close()
\ No newline at end of file