gn2bp: fix arguments for jni_generator.py
Fix arguments for jni_generator.py:
--output_dir: gen/ replaced by $(genDir)
--input_dir: for source files only, drop ../../ and wrap in $(location <label>)
Test: m cronet_aml_base_base_jni_headers
Change-Id: Ie4868e47480789b599bc908402aa327ee75391fd
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 476dbcf..0fec478 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -680,6 +680,22 @@
target.args[i + 1] = '.'
break
+ elif target.script == '//base/android/jni_generator/jni_generator.py':
+ for i, val in enumerate(target.args):
+ if val == '--output_file':
+ # replace --output_file gen/... with --output_file $(genDir)/...
+ target.args[i + 1] = re.sub('^gen', '$(genDir)', target.args[i + 1])
+ if val == '--input_file':
+ # --input_file supports both .class specifiers or source files as arguments.
+ # Only source files need to be wrapped inside a $(location <label>) tag.
+ if re.match('.*\.class$', target.args[i + 1]):
+ continue
+ # replace --input_file ../../... with --input_file $(location ...)
+ # TODO: put inside function
+ filename = re.sub('^\.\./\.\./', '', target.args[i + 1])
+ target.args[i + 1] = '$(location %s)' % filename
+
+
def create_action_module(blueprint, target):
bp_module_name = label_to_module_name(target.name)
module = Module('genrule', bp_module_name, target.name)