99# Notes:
1010#
1111# Script to setup directory structure required to perform SuperPMI replay in CI.
12- # It does the following steps:
13- # 1. It creates `correlation_payload_directory` that contains clrjit*_x64.dll and clrjit*_x86.dll
14- # 2. The script takes `input_artifacts` parameter which contains *.mch.zip and *.mct.zip. It will then
15- # partition it by moving each pair of *.mch.zip/*.mct.zip into its own folder under 'payload'
16- # directory.
12+ # It creates `correlation_payload_directory` that contains clrjit*_x64.dll and clrjit*_x86.dll
1713################################################################################
1814################################################################################
1915
3228parser = argparse .ArgumentParser (description = "description" )
3329
3430parser .add_argument ("-arch" , help = "Architecture" )
35- # parser.add_argument("-platform", help="OS platform")
3631parser .add_argument ("-source_directory" , help = "path to the directory containing binaries" )
3732parser .add_argument ("-product_directory" , help = "path to the directory containing binaries" )
38- # parser.add_argument("-mch_directory", help="path to directory containing compressed mch files")
3933
4034
4135def setup_args (args ):
@@ -56,11 +50,6 @@ def setup_args(args):
5650 lambda unused : True ,
5751 "Unable to set arch" )
5852
59- # coreclr_args.verify(args,
60- # "platform",
61- # lambda unused: True,
62- # "Unable to set platform")
63-
6453 coreclr_args .verify (args ,
6554 "source_directory" ,
6655 lambda source_directory : os .path .isdir (source_directory ),
@@ -71,10 +60,6 @@ def setup_args(args):
7160 lambda product_directory : os .path .isdir (product_directory ),
7261 "product_directory doesn't exist" )
7362
74- # coreclr_args.verify(args,
75- # "mch_directory",
76- # lambda mch_directory: True, #os.path.isdir(mch_directory),
77- # "mch_directory doesn't exist")
7863 return coreclr_args
7964
8065
@@ -117,6 +102,7 @@ def match_correlation_files(full_path):
117102
118103 return False
119104
105+
120106def main (main_args ):
121107 """Main entrypoint
122108
@@ -128,58 +114,34 @@ def main(main_args):
128114 arch = coreclr_args .arch
129115 source_directory = coreclr_args .source_directory
130116 product_directory = coreclr_args .product_directory
131- # mch_directory = coreclr_args.mch_directory
132117
133118 # CorrelationPayload directories
134119 correlation_payload_directory = path .join (coreclr_args .source_directory , "payload" )
135120 superpmi_src_directory = path .join (source_directory , 'src' , 'coreclr' , 'scripts' )
136121
137- # Workitem directories
138- workitem_directory = path .join (source_directory , "workitem" )
139-
140122 helix_source_prefix = "official"
141123 creator = ""
142124 ci = True
143125 helix_queue = "Windows.10.Amd64.X86"
144126
145127 # Copy *.py to CorrelationPayload
146128 print ('Copying {} -> {}' .format (superpmi_src_directory , correlation_payload_directory ))
147- copy_directory (superpmi_src_directory , correlation_payload_directory , match_func = lambda path : any (path .endswith (extension ) for extension in [".py" ]))
148-
129+ copy_directory (superpmi_src_directory , correlation_payload_directory ,
130+ match_func = lambda path : any (path .endswith (extension ) for extension in [".py" ]))
131+
149132 # Copy clrjit*_arch.dll binaries to CorrelationPayload
150133 print ('Copying binaries {} -> {}' .format (arch , product_directory , correlation_payload_directory ))
151134 copy_directory (product_directory , correlation_payload_directory , match_func = match_correlation_files )
152135
153- #TODO: Just send appropriate clrjit*.dll files to workitem_directory
154- # # Copy clrjit*_arch.dll binaries to workitem_directory
155- # print('Copying clrjit_{}_{}.dll {} -> {}'.format(arch, product_directory, correlation_payload_directory))
156- # copy_directory(product_directory, correlation_payload_directory, match_func=match_correlation_files)
157-
158- # Partition mch/mct zip files
159- # partition_mch(mch_directory, workitem_directory)
160-
161- # # Print correlation_payload_directory and workitem_directory
162- # print("==> correlation_payload_directory:")
163- # for file_path, dirs, files in walk(correlation_payload_directory, topdown=True):
164- # for name in files:
165- # curr_file_path = path.join(file_path, name)
166- # print(curr_file_path)
167-
168- # print("==> workitem_directory:")
169- # for file_path, dirs, files in walk(workitem_directory, topdown=True):
170- # for name in files:
171- # curr_file_path = path.join(file_path, name)
172- # print(curr_file_path)
173-
174136 # Set variables
175137 print ('Setting pipeline variables:' )
176138 set_pipeline_variable ("CorrelationPayloadDirectory" , correlation_payload_directory )
177- set_pipeline_variable ("WorkItemDirectory" , workitem_directory )
178139 set_pipeline_variable ("Architecture" , arch )
179140 set_pipeline_variable ("Creator" , creator )
180141 set_pipeline_variable ("Queue" , helix_queue )
181142 set_pipeline_variable ("HelixSourcePrefix" , helix_source_prefix )
182143
144+
183145if __name__ == "__main__" :
184146 args = parser .parse_args ()
185147 sys .exit (main (args ))
0 commit comments