3535flags .mark_flag_as_required ("input_aar" )
3636flags .DEFINE_string ("output_singlejar_param_file" , None ,
3737 "Output parameter file for singlejar" )
38+ flags .DEFINE_string ("build_target" , None ,
39+ "Build target label to pass to singlejar" )
3840flags .mark_flag_as_required ("output_singlejar_param_file" )
3941flags .DEFINE_string ("output_dir" , None , "Output directory to extract jars in" )
4042flags .mark_flag_as_required ("output_dir" )
4345def ExtractEmbeddedJars (aar ,
4446 singlejar_param_file ,
4547 output_dir ,
48+ build_target = None ,
4649 output_dir_orig = None ):
4750 """Extracts all embedded jars from an AAR.
4851
@@ -56,6 +59,9 @@ def ExtractEmbeddedJars(aar,
5659 output_dir_orig = output_dir
5760 jar_pattern = re .compile ("^(classes|libs/.+)\\ .jar$" )
5861 singlejar_param_file .write (b"--exclude_build_data\n " )
62+ if build_target :
63+ singlejar_param_file .write (b"--build_target\n " )
64+ singlejar_param_file .write (f"{ build_target } \n " .encode ("utf-8" ))
5965 for name in aar .namelist ():
6066 if jar_pattern .match (name ):
6167 singlejar_param_file .write (b"--sources\n " )
@@ -69,12 +75,13 @@ def ExtractEmbeddedJars(aar,
6975def _Main (input_aar ,
7076 output_singlejar_param_file ,
7177 output_dir ,
78+ build_target = None ,
7279 output_dir_orig = None ):
7380 if not output_dir_orig :
7481 output_dir_orig = output_dir
7582 with zipfile .ZipFile (input_aar , "r" ) as aar :
7683 with open (output_singlejar_param_file , "wb" ) as singlejar_param_file :
77- ExtractEmbeddedJars (aar , singlejar_param_file , output_dir ,
84+ ExtractEmbeddedJars (aar , singlejar_param_file , output_dir , build_target ,
7885 output_dir_orig )
7986
8087
@@ -93,9 +100,9 @@ def main(unused_argv):
93100 os .path .join (aar_junc , os .path .basename (aar_long )),
94101 os .path .join (params_junc , os .path .basename (params_long )),
95102 os .path .join (out_junc , os .path .basename (out_long )),
96- FLAGS .output_dir )
103+ FLAGS .output_dir , FLAGS . build_target )
97104 else :
98- _Main (FLAGS .input_aar , FLAGS .output_singlejar_param_file , FLAGS .output_dir )
105+ _Main (FLAGS .input_aar , FLAGS .output_singlejar_param_file , FLAGS .output_dir , FLAGS . build_target )
99106
100107
101108if __name__ == "__main__" :
0 commit comments