gn2bp: Support multiple desc files
Test: ./update_results.sh
Change-Id: Ice6dc1a2e01dbecdc92fcd5e118df56da138a8d4
diff --git a/tools/gn2bp/gen_android_bp b/tools/gn2bp/gen_android_bp
index 22b5801..3ec96f7 100755
--- a/tools/gn2bp/gen_android_bp
+++ b/tools/gn2bp/gen_android_bp
@@ -1267,8 +1267,10 @@
description='Generate Android.bp from a GN description.')
parser.add_argument(
'--desc',
- help='GN description (e.g., gn desc out --format=json --all-toolchains "//*"',
- required=True
+ help='GN description (e.g., gn desc out --format=json --all-toolchains "//*".' +
+ 'You can specify multiple --desc options for different target_cpu',
+ required=True,
+ action='append'
)
parser.add_argument(
'--extras',
@@ -1296,15 +1298,13 @@
if args.verbose:
log.basicConfig(format='%(levelname)s:%(funcName)s:%(message)s', level=log.DEBUG)
- with open(args.desc) as f:
- desc = json.load(f)
-
- gn = gn_utils.GnParser()
targets = args.targets or default_targets
- for target in targets:
- # TODO: pass desc to parse_gn_desc() to support parsing multiple desc files
- # for different target architectures.
- gn.parse_gn_desc(desc, target)
+ gn = gn_utils.GnParser()
+ for desc_file in args.desc:
+ with open(desc_file) as f:
+ desc = json.load(f)
+ for target in targets:
+ gn.parse_gn_desc(desc, target)
blueprint = create_blueprint_for_targets(gn, targets)
project_root = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
tool_name = os.path.relpath(os.path.abspath(__file__), project_root)