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)