gn2bp: Add filegroup for cronet api

Test: ./update_results.sh
Change-Id: I4f02494448ede2eeefadbbb9c7c4fdf38ede645c
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index d69c7b4..a93bf84 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -1499,6 +1499,12 @@
 def get_non_api_java_actions(gn):
   return get_java_actions(gn, lambda name: name != java_api_target_name)
 
+def get_api_java_sources(gn):
+  return get_java_sources(gn, lambda name: name == java_api_target_name)
+
+def get_api_java_actions(gn):
+  return get_java_actions(gn, lambda name: name == java_api_target_name)
+
 def create_java_module(blueprint, gn):
   bp_module_name = module_prefix + 'java'
   module = Module('java_library', bp_module_name, '//gn:java')
@@ -1538,6 +1544,15 @@
   module.plugins.add(preprocessor_module.name)
   blueprint.add_module(module)
 
+def create_java_api_module(blueprint, gn):
+  source_module = Module('filegroup', module_prefix + 'api_sources', java_api_target_name)
+  source_module.srcs.update([gn_utils.label_to_path(source)
+                             for source in get_api_java_sources(gn)])
+  source_module.srcs.update([
+    ':' + create_action_module(blueprint, gn.get_target(dep), 'java_genrule').name
+    for dep in get_api_java_actions(gn)])
+  blueprint.add_module(source_module)
+
 def update_jni_registration_module(module, gn):
   # TODO: java_sources might not contain all the required java files
   module.srcs.update([gn_utils.label_to_path(source)
@@ -1589,6 +1604,7 @@
   for target in targets:
     create_modules_from_target(blueprint, gn, target)
 
+  create_java_api_module(blueprint, gn)
   create_java_module(blueprint, gn)
   for module in blueprint.modules.values():
     if 'cronet_jni_registration' in module.name: